백준(11565) - 바이너리 게임 Python

최대 1 분 소요

백준(11565) - 바이너리 게임

문제풀이 : 구현 알고리즘, 파이썬

해결방법

문제를 잘 이해해야만 풀 수 있는 문제다.

문자열 a 맨끝에 추가할 경우 1을 추가하기 위해서는 a에 1이 홀수개여야 한다.

그 말은 1이 홀수 개 일때 1을 추가한다면 1은 짝수개가 되서 기존의 1의 갯수보다 최대 1 증가 밖에 되지 않는다는 말이다.

  • a와 b 각각 1의 개수를 구한다.
  • a의 1의 개수가 더 많다면 가능
  • b의 개수가 더 많다면
    • a의 1의 개수가 홀수이면서 b의 1의개수보다 1개 작으면 가능
    • 그 외는 모두 불가능
a = input()
b = input()

a_1 = a.count('1')
b_1 = b.count('1')

if a_1 >= b_1:
    print("VICTORY")
elif a_1 < b_1:
    if (a_1 + 2) % 2 == 1 and (a_1+1) == b_1:
        print("VICTORY")
    else:
        print("DEFEAT")

댓글남기기