728x90
문제
https://www.acmicpc.net/problem/2292
접근 방법
1. 벌집은 N 까지 갈때 최단 거리를 구하는 문제입니다.
2. 따라서 1, (2~7), (8~19), (20~37) 의 최단거리는 각각 1, 2, 3, 4로 계차수열을 이룹니다.
3. 증가하는 값이 6, 12, 18 로 6씩 증가하는 코드를 작성해주면 됩니다.
코드
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
private static StringBuilder sb;
private static BufferedReader br;
private static StringTokenizer st;
private static long N;
//입력
public static void input() throws Exception {
br = new BufferedReader(new InputStreamReader(System.in));
sb = new StringBuilder();
N = Long.parseLong(br.readLine());
}
//실행
public static void process() {
long depth = 1;
long x = 1;
if(N==1){
System.out.println(1);
return;
}
while (true){
if(N<=x){
System.out.println(depth);
break;
}
x =x+(6*depth);
depth++;
}
}
public static void main(String[] args) throws Exception {
input();
process();
}
}
'코딩테스트 > 백준' 카테고리의 다른 글
[Java] 백준 2751번 : 수 정렬하기 2 (0) | 2024.05.02 |
---|---|
[Java] 백준 2609번 : 최대공약수와 최소공배수 (0) | 2024.05.02 |
[Java] 백준 14476번 : 최대공약수 하나 빼기 (0) | 2024.04.29 |
[Java] 백준 2231번 : 분해합 (0) | 2024.04.29 |
[Java] 백준 2164번 : 카드2 (0) | 2024.04.29 |