본문 바로가기
PS/Baekjoon

[Baekjoon] 2292 - 벌집

by 서현 SEOHYEON 2023. 1. 5.

📝 문제

 

 

 

🔑 풀이 과정

조건이 "최소" 개수의 방을 지나서 갈때이다.

최소 개수의 방을 지나려면 벌집이 한 둘레를 꽉 채우고 다음 둘레로 이동해야 한다. (말로 표현을 못하겠음ㅋㅋㅠㅠㅠ)

 

그랬을 때, 각 둘레별로 "몇번까지 들어갈수 있는지" 구하고 그 규칙을 찾는다.

 

for문을 돌리면서 입력받은 N이 둘레의 최대번호보다 작거나 같은지 확인

→ 만약 N이 더 크다? 그러면 그 둘레에 포함되지 않는거니 다음 둘레로 확인

→ N이 최대번호보다 작거나 같으면, 그 둘레에 포함되는 거니깐 for문 탈출

 

 

 

🔓 답안

import java.io.*;

public class Main {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
        int N = Integer.parseInt(br.readLine());

        int i;
        for(i = 1; ; i++){
            int max = (3 * i * (i-1)) + 1;

            if(N <= max)
                break;
        }

        bw.write(i + "\n");
        bw.flush();
        bw.close();
    }

}

'PS > Baekjoon' 카테고리의 다른 글

[Baekjoon] 4153 - 직각삼각형  (0) 2023.01.07
[Baekjoon] 1712 - 손익분기점  (0) 2023.01.06
[Baekjoon] 10817 - 세 수  (0) 2023.01.04
[Baekjoon] 2525 - 오븐 시계  (0) 2023.01.03
[Baekjoon] 2441 - 별 찍기 - 4  (0) 2023.01.02

댓글