#1 알고리즘
#1-1
#1-2
#1-3
#2 코드
#2-1 자바
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
sc.nextLine();
sc.close();
System.out.println(Integer.toString(getLevel(N)));
}
private static int getLevel(int roomNumber) {
if(roomNumber == 1) {
return 1;
}
for(int i = 3; true; i++) {
if(roomNumber < getStartRoom(i)) {
return i - 1;
}
}
}
private static int getStartRoom(int level) {
if(level == 1) {
return 1;
} else {
return 2 + 3 * (level - 1) * (level - 2);
}
}
}
#2-2 코틀린
fun main() {
val N = readLine()!!.trim().toInt()
println(getLevel(N).toString())
}
fun getLevel(roomNumber: Int): Int {
if(roomNumber == 1) {
return 1
}
var i = 3
while(true) {
if(roomNumber < getStartRoom(i)) {
return i - 1
}
i++
}
}
fun getStartRoom(level: Int): Int {
if(level == 1) {
return 1
} else {
return 2 + 3 * (level - 1) * (level - 2)
}
}
'문제 풀이 > 기타' 카테고리의 다른 글
[백준] 2884 (알람 시계) (0) | 2023.11.21 |
---|---|
[백준] 10809 (알파벳 찾기) (0) | 2023.11.16 |
[백준] 2231 (분해합) (0) | 2023.11.09 |
[백준] 1978 (소수 찾기) (0) | 2023.11.08 |
[백준] 1436 (영화감독 숌) (0) | 2023.11.03 |