

이전 문제보다는 수학적으로 까다로운 문제인데, 수열문제입니다. 5시방향으로 지나가는 방향을 잘 보시죠.
1, 7, 19, 37, 61...계차수열입니다. 계차수열은 수열의 앞뒤 차이인 계차를 새로운 수열로 만든 것인데,
1, 7, 19, 37, 61...의 계차수열은 6, 12, 18, 24...각 항이 6의 배수인 등차수열입니다.
참, 왜 5시 방향쪽을 봐야하는지 설명을 안했군요. 1부터 한칸씩 전진했을때, 같은 이동만큼 전진하는 그룹은 육각형 모양을 띄게되고, 그 그룹 중 가장 큰 숫자가 5시방향에 모여있습니다. 예를들어, 1칸 전진했을 때, 2~7중에 가장 큰 것은 7, 2칸 전진했을 때 8~19사이에서 가장 큰 수는 19...이런식이죠. 따라서 앞서 구한 벌집 수열에서, 해당 숫자보다 작다면 거기서 걸음을 멈춘다 생각하시면 되겠습니다. 7이면 벌집 수열의 2번째 항과 같고, 2칸 지나는 셈 (1,7), 예제의 13은 2항인 7보다 크고 3항인 19보다 작으니, 3칸 지나는 셈 (1,4,13) 이런식입니다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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());
for (int i=1; ; i++) {
if (n<= 3*Math.pow(i, 2)-3*i + 1) {
System.out.println(i);
break;
}
}
}
}'백준 문제풀이 > 기본수학1' 카테고리의 다른 글
| 2775. 부녀회장이 될테야 (자바, Java) (0) | 2022.09.18 |
|---|---|
| 10250. ACM 호텔 (자바, Java) (0) | 2022.09.18 |
| 2869. 달팽이는 올라가고 싶다. (자바, Java) (0) | 2022.09.18 |
| 1193. 분수찾기 (자바, Java) (0) | 2022.09.18 |
| 1712. 손익분기점 (자바, Java) (0) | 2022.09.18 |