Dev/PS

[백준] 15721 번데기 java

풋데브 2022. 6. 22. 16:09

import java.io.*;
import java.util.*;

public class Main {
    static BufferedReader br;
    static StringTokenizer st;
    static int A, T, F;

    public static void main(String[] args) throws IOException {
        input();
        System.out.println(solve());
    }

    static void input() throws IOException {
        br = new BufferedReader(new InputStreamReader(System.in));
        A = Integer.parseInt(br.readLine());
        T = Integer.parseInt(br.readLine());
        F = Integer.parseInt(br.readLine());
    }

    static int solve() {
        int b = 0;
        int d = 0;
        int cnt = 2;
        while(true) {
            for(int i = 0; i < 4; i++) {
                if(i % 2 == 0) {
                    b++;
                } else {
                    d++;
                }

                if((b == T && F == 0) || (d == T && F == 1)) {
                    return (b+d-1) % A;
                }
            }

            for(int i = 0; i < cnt; i++) {
               b++;
               if(b == T && F == 0) {
                   return (b+d-1) % A;
               }
            }

            for(int i = 0; i < cnt; i++) {
                d++;
                if(d == T && F == 1) {
                    return (b+d-1) % A;
                }
            }

            cnt++;
        }
    }
}

브론즈 문젠데 시간을 꽤 날렸다. 문제 이해 자체를 잘못했다.. 국어 능력이 딸리나 ..?

 

단순하게 뻔-데기-뻔-데기-뻔*n-데기*n로 돌면서 t번 째 '번'이나 '데기'를 구하면 되는데 t회차 마지막 뻔이나 데기를 구하는 줄 알았다. 역시 처음에 문제 이해를 잘못하면 그 순간 코테는 끝이다... 진짜 문제의 요구사항을 정확하게 찾아내는 습관을 만들어야지 ..