SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
T = int(input())
for tc in range(1,T+1):
memory = input()
real = list(map(int,input()))
n = len(memory)
m = len(real)
result = 0
binary = int(memory,2)
bin_lst = [0]*n # 각 비트를 반전시킨 수 n개 저장
for i in range(n): # 각 비트를 반전시킨 2진수 만들기
bin_lst[i] = binary ^ (1<<i)
for i in range(m): # 3진수의 real[i] 자리를 바꾼 숫자 만들기
num1, num2 = 0, 0 # (real[i]+1)%3 / (real[i]+2)%3
for j in range(m):
if i!=j:
num1 = num1*3 + real[j]
num2 = num2*3 + real[j]
else:
num1 = num1*3 + (real[j]+1)%3
num2 = num2*3 + (real[j]+2)%3
if num1 in bin_lst:
result = num1
break
if num2 in bin_lst:
result = num2
break
print(f'#{tc} {result}')
'swea' 카테고리의 다른 글
1861. 정사각형 방 (0) | 2023.09.04 |
---|---|
1953. [모의 SW 역량테스트] 탈주범 검거 (0) | 2023.09.04 |
10966. 물놀이를 가자 (0) | 2023.09.04 |
1220. [S/W 문제해결 기본] 5일차 - Magnetic (0) | 2023.08.28 |
1860. 진기의 최고급 붕어빵 (0) | 2023.08.28 |