
소스코드:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
static BufferedReader br;
static BufferedWriter bw;
static int N;
public static void main(String[] args) throws IOException {
br = new BufferedReader(new InputStreamReader(System.in));
bw = new BufferedWriter(new OutputStreamWriter(System.out));
N = Integer.parseInt(br.readLine());
br.close();
int end = 1;
int depth = 1;
while (end < N) {
end += depth * 6;
depth++;
}
bw.write(depth + "\n");
bw.flush();
bw.close();
}
}
수식을 세워 O(1)로 풀이하는 방법이 있지만 제가 수학을 잘 모르기 때문에, 일반적인 방법으로 작성하였습니다.

글의 내용 중 잘못된 점이나 수정이 필요한 부분, 혹은 궁금한 사항이 있다면 언제든 댓글로 남겨주시면 감사하겠습니다.
여러분의 피드백은 더 나은 글을 작성하는 데 큰 도움이 됩니다. 감사합니다.
'알고리즘 > 백준' 카테고리의 다른 글
| [JAVA-자바] 1259번: 팰린드롬수 (0) | 2025.02.25 |
|---|---|
| [JAVA-자바] 15829번: Hashing (0) | 2025.02.19 |
| [JAVA-자바] 2231번: 분해합 (0) | 2025.02.18 |
| [JAVA-자바] 30802번: 웰컴 키트 (0) | 2025.02.17 |
| [JAVA-자바] 4153번: 직각삼각형 (0) | 2025.02.12 |