STUDY/Algorithm

[백준] 18222 투에-모스 문자열 python

sinawi95 2022. 2. 9. 08:59
728x90

https://www.acmicpc.net/problem/18222

 

18222번: 투에-모스 문자열

0과 1로 이루어진 길이가 무한한 문자열 X가 있다. 이 문자열은 다음과 같은 과정으로 만들어진다. X는 맨 처음에 "0"으로 시작한다.  X에서 0을 1로, 1을 0으로 뒤바꾼 문자열 X'을 만든다. X의 뒤에

www.acmicpc.net

분할정복으로 되어있는데 규칙성으로 찾았다.

(k-1)를 binary로 바꾸고 모든 자리값을 더하면 해당 k번째 자리의 값이 된다.

def main():
    k = int(input()) - 1
    answer = 0
    while k:
        answer += k & 1
        k >>= 1
    print(answer % 2)

if __name__ == "__main__":
    main()

'STUDY > Algorithm' 카테고리의 다른 글

[백준] 19583 싸이버개강총회 python  (0) 2022.02.11
[백준] 20207 달력 python  (0) 2022.02.10
[백준] 3184 양 python  (0) 2022.02.08
[백준] 13549 숨바꼭질 3 python  (0) 2022.02.07
[백준] 2407 조합 python  (0) 2022.02.07