잡다한 배똥월드

728x90
코딩 테스트 풀이 체크리스트
2시간 내에 풀었는가? O
본인의 실력으로 풀었는가? O

 

 

코딩테스트 연습 - 예상 대진표

△△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N

programmers.co.kr

 

 

 

 

class Solution {
    public int solution(int n, int a, int b) {
        int answer = 0;
        
    	//항상 a가 작고, b가 크다는 조건이 없기 때문에 작은 숫자 큰 숫자 구분해줘야 함
        int min = Math.min(a, b);
        int max = Math.max(a, b);
        
        while (true) {
            answer++; //라운드 계산하는 것
            
            //둘의 대진 조건임. 둘이 붙는 숫자가 된다면 while문 탈출
            if (min == max-1 && min % 2 == 1 && max % 2 == 0) break;
            
            //4를 예시로 4번이 이기면 다음 라운드 숫자는 2이고, 7은 4가 된다.
            //그래서 생각한 것이 짝수의 숫자가 이기면 그냥 몫이 되고
            //홀수의 숫자가 이기면 몫에 +1을 해줘야한다.
            min = (min % 2 == 0) ? min / 2 : min / 2 + 1;
            max = (max % 2 == 0) ? max / 2 : max / 2 + 1;
        }
        
        return answer;
    }
}

 

테스트 1 통과 (0.02ms, 78.9MB)
테스트 2 통과 (0.03ms, 75.3MB)
테스트 3 통과 (0.04ms, 76.1MB)
테스트 4 통과 (0.03ms, 73.1MB)
테스트 5 통과 (0.03ms, 74MB)
테스트 6 통과 (0.02ms, 76.9MB)
테스트 7 통과 (0.09ms, 74.5MB)
테스트 8 통과 (0.03ms, 75.9MB)
테스트 9 통과 (0.03ms, 73.4MB)
테스트 10 통과 (0.03ms, 82.3MB)
테스트 11 통과 (0.04ms, 74.1MB)
테스트 12 통과 (0.03ms, 77.5MB)
테스트 13 통과 (0.03ms, 76.5MB)
테스트 14 통과 (0.03ms, 74.3MB)
테스트 15 통과 (0.02ms, 72.3MB)
테스트 16 통과 (0.04ms, 77.7MB)
테스트 17 통과 (0.03ms, 73.3MB)
테스트 18 통과 (0.04ms, 79.4MB)
테스트 19 통과 (0.02ms, 74.2MB)
테스트 20 통과 (0.03ms, 77MB)
테스트 21 통과 (0.02ms, 77.9MB)
테스트 22 통과 (0.09ms, 77.6MB)
테스트 23 통과 (0.04ms, 75.4MB)
테스트 24 통과 (0.03ms, 75.4MB)
테스트 25 통과 (0.03ms, 78.5MB)
테스트 26 통과 (0.02ms, 80MB)
테스트 27 통과 (0.03ms, 79.1MB)
테스트 28 통과 (0.08ms, 76.5MB)
테스트 29 통과 (0.07ms, 78.4MB)
테스트 30 통과 (0.05ms, 70.1MB)
테스트 31 통과 (0.02ms, 74.1MB)
테스트 32 통과 (0.02ms, 75.4MB)
테스트 33 통과 (0.02ms, 71MB)
테스트 34 통과 (0.04ms, 75.6MB)

 

 

 

 

 

 

728x90

+ Recent posts