처음 생각
벌집이 한바퀴 도는 칸수를 시작-끝 으로 표현하고 그 범위 안에 들어오면 지나온 방 수를 세는 식으로 구상했다
그런데 굳이 시작-끝 으로 표현하지 않고 그냥 끝 수만 있어도 범위 안에 들어오는지 여부를 확인할 수 있어서
또 다른 식으로 풀어봤다
내가 푼 방법
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int start = 0; // 범위 시작 수
int end = 1; // 범위 끝 수
int room =1; // 지나는 방의 수
int i=1; // (6*i)에서 쓸 수
while(true) {
if(start <= N && N <= end) { // 범위에 들어오면
System.out.println(room);
break;
}
else { // 범위에 못들어오면
start = end+1;
end = end + (6*i);
room++;
i++;
}
}
}
}
다른 풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int end = 1; // 범위 시작 수 없이 끝 수만 사용
int room =1;
int i=1;
while(N>end) { // N이 true범위(end 범위 내)를 벗어날때까지
end = end + (6*i);
i++;
room++;
}
System.out.println(room);
}
}
'백준 풀이' 카테고리의 다른 글
[백준 풀이_Java] 0000 약수구하기 (0) | 2021.11.01 |
---|---|
[백준 풀이_Java] 2941 크로아티아 알파벳 (0) | 2021.10.31 |
[백준 풀이_Java] 2875 대회 or 인턴 (0) | 2021.10.28 |
[백준 풀이_Java] 7568 덩치 (0) | 2021.10.28 |
[백준 풀이_Java] 1316 그룹단어 체커 (0) | 2021.10.27 |