본문 바로가기

구름톤 챌린지

(17)
구름톤 챌린지[JAVA] 8일차 학습 일기 구름톤 챌린지 통증 [느낀점] 난이도가 갑자기 엄청 쉬워져서 당황했다. 그나마 평소에 사용안하던 StringTokenizer 를 사용해서 실력향상에 도움이 됬다고 생각한다. 다음날 공개된 풀이를 보니 그리디 문제였다. 그리디 알고리즘중에 쉬운 문제가 나온 것 같다. 좀 더 어렵게 나왔다면 내가 푼 방식으로는 더 복잡하게 풀게 될것같다. [결과 코드] import java.io.*; import java.util.*; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st..
구름톤 챌린지[JAVA] 7일차 학습 일기 구름톤 챌린지 구름 찾기 깃발 [느낀점] 문제를 보자마자 아 이거 나 혼자 못풀겠다! 싶었다. 저번에도 프로그래머스에서 지뢰찾기 문제를 푼 적이 있었는데 그때도 매우 어렵게 여러블로그 찾아가며 풀었었다. 8방탐색이란걸 해서 풀면 나름 쉽게 풀린다고 한다. 구름에서 제공한 풀이를보면 dx/dy 탐색법을 사용하면 된다고 한다. 하지만 dx/dy 탐색법이란걸 봐도 이해가 잘 안가서 나만의 방법으로 했다. 풀이가 되게 간단하고 허접하다. 각 방향별 상,하,좌,우, 대각선 총 8개의 if문이 들어가서 코드가 약간 더럽다. 다음엔 dx/dy 탐색법을 사용해 볼거라고 다짐해보며 일단 현재 풀이의 만족하기로 했다. [결과 코드] import java.io.*; import java.util.*; class Main {..
구름톤 챌린지[JAVA] 6일차 학습 일기 구름톤 챌린지 문자열 나누기 [느낀점] 5일차부터 난이도가 갑자기 좀 올라갔다고 생각했다. 결국 24시간 내에 못풀고 풀이가 공개되고 나서 참고해가며 풀었다... 5일차에 다짐했던 주석달며 깔끔하게 작성하기라는 목표는 지켰다고 생각한다. 결과 코드도 사진이 아니라 코드를 작성하는 것으로 바꿨다. 나는 아직 많이 멀었다. 많이 공부해야겠다. [결과 코드] import java.io.*; import java.util.*; import java.util.stream.*; class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(Sy..
구름톤 챌린지[JAVA] 5일차 학습 일기 구름톤 챌린지 이진수 정렬 [느낀점] 처음 이 문제를 봤을 땐 꽤 어렵다고 생각했다. 일단 내가 원래 가지고 있던 지식으로는 절대 풀수없다고 판단해 여러가지 검색해가며 풀고있었다. 처음에 풀었을 때의 코드이다. 풀면서도 내가 뭘 하고있는지 점점 수렁으로 빠져들어갔다. 문자열로 입력을 받아서 그걸 다시 정수배열로 변환하고 정렬하고, 오름차순 정렬이기 때문에 for문으로 요소 끝에서부터 불러들여 Integer.toBinaryString 이라는 정수를 2진수 문자열로 변환하는 함수를 써서 문자열배열 a에 담았다. 사실 이렇게 할거면 배열에 담을 필요도 없었다. 아무튼 원래 문자열의 길이에서 그 문자열에 있는 1을 공백으로 치환한 문자열의 길이를 빼서 count 정수 에 담은 후 map 을 이용해 입력한 정수,..
구름톤 챌린지[JAVA] 4일차 학습 일기 구름톤 챌린지 완벽한 햄버거 만들기 [결과 코드] [느낀점] bufferedReader 로 문자열 배열을 입력 받은 후 다시 정수 배열로 변환하는 과정을 스트림API를 활용했다. 아직 stream API를 활용하는것이 미숙해 사용방법을 검색하며 풀었다. for 문이 3개나 있어서 가독성이 떨어지는것 같다. for문을 최대한 적게 사용해서 코드를 짰다면 시간도 더 적게걸리고 좋은 결과가 나올것 같다. 첫 번째 for문은 몇 번째 배열이 가장 숫자가 높은지 파악한 후 해당 인덱스를 저장하고 위치도 저장한다. 두 번째 for문은 저장한 인덱스를 기준으로 올라가며 문제 조건에 맞는지 파악한다. 문제 조건에 맞지 않으면 point 를 0으로 만들고 세 번째 for문을 실행하지 않는다. 세 번째 for문은 저장한 ..
구름톤 챌린지[JAVA] 3일차 학습 일기 구름톤 챌린지 합 계산기 [결과 코드] [느낀점] 단순 구현 문제로 if문을 통해서 사칙연산을 해결한다. 사칙연산을 통해 나온 값이 sum에 모두 더한 후 마지막에 sum을 출력한다. 구현은 잘 되었지만 if문 없이 알고리즘을 짜면 더 깔끔해질것같다.
구름톤 챌린지[JAVA] 2일 차 학습 일기 구름톤 챌린지 프로젝트 매니징 [결과 코드] [느낀점] 오히려 1일 차 문제보다 쉽다고 생각했다. 2일 차 문제의 특징은 60분이 넘어갈 때 1시간이 추가되고 00분이 되는것과 24시간이 넘어갈때 00시가 되는것을 해결할 수 있느냐를 보는것 같았다. 좀 더 간단하게 짜면 라인 수를 줄일 수 있을것 같지만 오히려 가독성이 떨어질것같아 길게 적었다.
구름톤 챌린지[JAVA] 1일 차 학습 일기 구름톤 챌린지 운동 중독 플레이어 [결과 코드] [느낀점] 알고리즘 공부, 코딩 테스트 연습을 안한지 꽤 오래 되어 문제를 보기 전부터 많이 긴장 했었다. 그리고 당일이 되어 문제가 공개되고 문제를 풀기 시작하는데 코딩 테스트를 안한지도 오래되고 긴장도 해 단순 입출력을 어떻게 받는지 등이 잠깐 생각이 안났지만 문제를 보다보니 기억이 점점 돌아와 가볍게 풀 수 있었다. 문제의 핵심은 소수점 이하 버림을 해결할 수 있느냐의 문제인것 같다. 처음에는 문제를 아무리 봐도 맞게 푼 것 같은데 몇몇 문제에서 오답이 나와 구름 유니버스에서도 계속 도움을 요청하며 돌아다녔다. 아직 문제가 나온지 얼마안된 초반이라 푼 사람도 몇명이 없어서 도움을 못받고 포기하고 저녁을 먹고 다시 돌아와 다시보니 Math.floor 라..