View

😃 || 정리

부전승이 따로 있지 않고 ,
참가자가 2의 제곱으로 주어지기 때문에 한 번 라운드가 끝날 때 마다
참가자가 이전라운드 참가자의 2분의 1로 줄어드는 것을 확인할 수 있었다.
처음에는 b와 a의 차이가 1일 때로 생각해서 풀었더니
정확도가 88점... 왜 일까 알고보니
a가 4, b가 5로 주어질 경우는 차이가 1이므로 내가 만든 풀이에선 라운드가 한번밖에 진행되지 않지만
사실은 라운드가 3번은 진행되어야 하는 것이었다.
그래서 a와 b가 같아지지 않을 때 까지로 조건을 변경해서 풀었더니 해결!

😃 || 풀이 방법

class Solution
{
    public int solution(int n, int a, int b)
    {
        int roundCnt = 0;
        while(a != b){
            roundCnt ++;

            a = nextCnt(a);
            b = nextCnt(b);
        }

        return roundCnt;
    }

    public int nextCnt (int turn) {
           return  turn/2 + turn%2;
    }

}
Share Link
reply
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31