티스토리 뷰
728x90
코딩테스트 연습 - 예상 대진표
△△ 게임대회가 개최되었습니다. 이 대회는 N명이 참가하고, 토너먼트 형식으로 진행됩니다. N명의 참가자는 각각 1부터 N번을 차례대로 배정받습니다. 그리고, 1번↔2번, 3번↔4번, ... , N-1번↔N
programmers.co.kr
풀이
1. 항상 이기닌깐 a와 b로만 순위를 구해주면댐
2. 그림처럼 4와 7이 맞붙기 위한 순위 이동 공식을 만들어줘야함
3. 첫숫자 a 두번째 숫자 b 라고 가정했을때
a = a/2 + a%2 ex) 4는 4 -> 2 -> 1 순위를 가짐
b = b/2 + b%2 ex) 7은 7 -> 4 -> 2 -> 1
package programmers.level2;
import org.junit.Test;
public class P12985 {
@Test
public void 정답() {
System.out.println(solution(8, 4, 7));
}
public int solution(int n, int a, int b) {
int answer = 0;
while (true) {
a = a / 2 + a % 2;
b = b / 2 + b % 2;
answer++;
if (a == b) break;
}
return answer;
}
}
'알고리즘 - Java' 카테고리의 다른 글
[프로그래머스] k 진수에서 소수 구하기 - Java (0) | 2022.04.09 |
---|---|
[프로그래머스] 다음 큰 숫자 - Java (0) | 2022.03.31 |
[Programmers] 피로도 - Java (0) | 2022.03.31 |
[Programmers] 큰 수 만들기 - Java (0) | 2022.03.30 |
[Programmers] 뉴스 클러스터링 - Java (0) | 2022.03.30 |
댓글