기타
코드업 6096 - 바둑알 십자 뒤집기
히어로맛쿠키
2022. 2. 6. 17:54
구냥해봄..
# 2차원 리스트 만들기
pad = []
for _ in range(19):
pad.append( list(map(int, input().split())) )
# point 입력받기
# 유의점 : row, col은 1에서 19까지의 범위로 들어오므로 index 유의!
n = int(input())
point_row = []
point_col = []
for i in range(n):
r, c = input().split()
point_row.append(int(r)-1)
point_col.append(int(c)-1)
# 십자 뒤집기
for i in range(n):
row = point_row[i]
col = point_col[i]
for j in range(19):
pad[row][j] = 1 - pad[row][j]
pad[j][col] = 1 - pad[j][col]
# 출력하기
for r in range(19):
for c in range(19):
print(pad[r][c], end=' ')
print()
[ 방법 부연설명 ]
- pad라는 1차원 리스트에다가 입력된 리스트를 즉시 append해 2차원 리스트를 실시간으로 만들어감
- point 정보를 받을 때, row list와 col list를 따로 만들어둠 - 추후 동일 idx로 row, col을 다루고 싶었기 때문
- 0, 1 뒤집기의 핵심은 var = 1 - var
반응형