코딩테스트/백준
[백준 JAVA] 2292 - 벌집
kittae
2024. 11. 29. 01:21
내 기준 생각보다 어려운 문제였다.
해당 문제를 분석하던 중, 6의 배수로 이루어졌다는 것을 알게 되었지만, 그 후의 로직을 고민하는데 오랜 시간이 걸렸다.
계속 고민하다가 정 안되서 살짝 힌트를 보게 되었다.
나의 로직 구현이다
1 ~ 7 (6) - 1
8 ~ 19 (12) - 2
20 ~ 37 (18) - 3
38 ~ 61(24) - 4
25일 때,
1. 6
2 12
3 18
4 24
문제 분석했지만, 중간에 포기한 것을 볼 수 있다. 힌트를 보니, 최솟값을 염두해두고 로직을 짜는 것을 보았다.
[최종코드]
import java.io.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
int num = 1;
int i = 1;
int count = 1;
if (n == 1)
count = 1;
else {
while (true) {
if (n <= num)
break;
num += (i++ * 6);
count++;
}
}
System.out.println(count);
}
}
배운점
나는 아직 수학 관련 문제에 약한가 보다..
이번 기회에 꼼꼼히 배우는 시간을 가지게 되었다.