21.05.31 기록

최대 1 분 소요

  • 백준 알고리즘 2292 풀이

    • 2292 풀이(메모리 14.2MB, 시간 124ms로 통과)
      규칙은 찾았는데 N을 입력 받고 어떤 로직을 구성해야 출력을 얻을 수 있을지에서 막혔다.
      힌트를 참고하려고 풀이를 찾아보았는데 힌트를 보고도 똑같아서 결국 해설 풀이를 보았다.
      풀이도 이해가 되지않아서.. 값을 대입해보고 나서야 비로소 이해할 수 있었다.
      다음에 다시 도전해봐야겠다..!
    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;
    
    public class B2292 {
        public static void main(String[] args) {
            BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
            try {
                int N = Integer.parseInt(br.readLine());
    
                int cnt = 1;
                int range = 2;
    
                if(N == 1) { System.out.println(1); }
                else {
                    while(range <= N) {
                        range = range + (6 * cnt);
                        cnt++;
                    }
    
                    System.out.println(cnt);
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }
    


카테고리:

업데이트: