Baekjoon 문제 풀기 (2292번 : 벌집) Java
2292번 : 벌집
1. 문제읽기
규칙 수열 구현하기
예전에 파이썬으로 2번이나 풀어서 그런지 이번엔 쉽게 규칙을 찾을 수 있었다.
2. 제출 코드
벌집이 어떻게 늘어가는지 차근차근 하나씩 과정을 풀어서 쓰는게 도움이 되었다.
bee
변수와 count
변수를 초기화시키는 과정이 조금 어려웠는데, 테스트 케이스를 여러개 돌려보고 알아냈다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class BOJ2292 {
public static void main(String[] args) throws IOException {
// 1(1) -> 1개 : 6*0
// 2~7(6) -> 2개 : 6*0+1부터 6*1개
// 8~19(12) -> 3개 : 1+6+1부터 6*2개
// 20~37(18) -> 4개 : 1+6+12+1부터 6*3개
// 38~61(24) -> 5개 : 1+6+12+18+1부터 6*4개
int bee = 1;
int count = 0;
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(bf.readLine());
while(n > 0) {
n-= bee;
count++;
bee = 6*count;
}
System.out.println(count);
}
}
3. 공부할 것
변수 초기화 말고도 막혔던 부분이 있었는데,
처음에는 while(n --> 0)
으로 코드를 짰었다. 코드가 어떻게 작동하는지 잘 모르고 짠 게 실수였다.
디버깅을 하면서 보니 n이 하나씩 줄어드는 것을 알게 되었고, 그제서야 이 코드의 뜻이 값이 0보다 클 경우
말고도 n 값을 하나씩 줄인다
라는 뜻이 있었다는 것을 기억해냈다.
잘 모르는 코드는 제대로 알고 쓰자..
댓글남기기