728x90
반응형
문제 링크
programmers.co.kr/learn/courses/30/lessons/12985
* Programmers - Level 2 - (자바)예상대진표 - 비트연산(?)
< 로직 >
* 동그라미 안에 숫자가 다음 대진으로 갔을 때의 인덱스
* 각 숫자 x에 +1 하고 /2 한 결과이다.
* 즉 (A +1)/2 == (B+1)/2 인 결과를 찾으면 정답!
class Solution
{
public int solution(int n, int a, int b)
{
int answer = 0;
while(a != b){ // a와 b가 같으면 정답
a = (a+1) / 2; // a = (a+1) >> 1 비트연산도 가능하다!
b = (b+1) / 2; // b = (b+1) >> 1;
answer++;
}
return answer;
}
}
* 너무나도 간단한 코드! 그림 그리기 전까지는 생각해내기 어려웠다!
반응형
'문제풀이 > Programmers 문제풀이' 카테고리의 다른 글
[ 알고리즘 ] 코딩 - Programmers - 프린터.java (0) | 2020.12.26 |
---|---|
[ 알고리즘 ] 코딩 - Programmers - 불량 사용자.java (0) | 2020.12.22 |
[ 알고리즘 ] 코딩 - Programmers - 가장 큰 정사각형 찾기.java (0) | 2020.12.17 |
[ 알고리즘 ] 코딩 - Programmers - 단속카메라.java (0) | 2020.12.16 |
[ 알고리즘 ] 코딩 - Programmers - 가장 큰 수.java (0) | 2020.12.16 |