- 예제 입력해서 파이참으로 직접 실행시키면 다른 답이 나와서 계속 당황했었다.
- and 연산을 실패했으니 모든 값을 계속 or 연산으로 돌아주며 찾아주면 됨
Solution
import sys
from typing import List
def solution(N: int, nums_list: List[List[int]]) -> List[int]:
answer = [0] * 1001
for i in range(N):
for j in range(N):
if i == j:
continue
# and 연산을 실패하여 나타난 것이 -> nums_list
# 반복문을 돌아주면서 모든 값을 or 연산
answer[i] |= nums_list[i][j]
return answer[:N]
nums_list: List[List[int]] = []
N = int(sys.stdin.readline().rstrip())
for _ in range(N):
nums_list.append(list(map(int, sys.stdin.readline().rstrip().split())))
print(*solution(N, nums_list))
Reference
Leave a comment