알고리즘
<Programmers> 예상 대진표
koyuchang
2020. 5. 6. 11:29
라운드를 이겨서 올라갈 때마다 새로운 라운드 수를 적용하는 방법으로는, 홀수면 몫에 +1, 짝수면 몫 그대로를 출력하기로 하였다. 그리고 a, b의 차이가 1이 아닌 이상 다음 라운드로 올라가도록 설정하였다.
[초기 코드]
하지만, a=1, b=2 같은 경우는 해결이 되지만, a=2, b=3 인 경우는 비록 차이는 1이지만 다음 라운드로 올라가야 하기때문에 에러가 발생한다.
이 문제를 해결 하는 방법은 a와 b 중 큰 수가 짝수면 같은 라운드에 속하고, 아니면 서로 다른 라운드 이므로 다음 라운드로 진행하도록 코딩하였다.
Ex)
a=1 b=2 인 경우,
1라운드에서 끝
a=2 b=3 인 경우,
b가 홀수 이므로 다음 라운드로 진행.
(처음엔 diff!=1 이랑 Math.max(a,b)%2!=0 를 AND 연산하여 실패하였지만, OR연산으로 하니 성공하였다.)
실행시간이 평균 0.8초이다.