Photo by Pietro Mattia on Unsplash
07:00 ~ 08:00
코드업 기초 100제 91 ~ 96번을 풀었다.
[기초-리스트] 바둑알 십자 뒤집기
바둑알이 깔려 있는 상황이 19 * 19 크기의 정수값으로 입력된다.
십자 뒤집기 횟수(n)가 입력된다.
십자 뒤집기 좌표가 횟수(n) 만큼 입력된다. 단, n은 10이하의 자연수이다.
십자 뒤집기 결과를 출력한다.
이 문제는 2차원 리스트값을 변경할 수 있는가 하는 문제 였다.
go_list = []
for _ in range(19):
go_list.append(list(map(str, input().split())))
k = int(input())
for _ in range(k):
a, b = map(int, input().split())
for i in range(19):
go_list[a-1][i] = ('1' if go_list[a-1][i] == '0' else '0')
go_list[i][b-1] = ('1' if go_list[i][b-1] == '0' else '0')
for i in range(19):
print(' '.join(go_list[i]))
이차원 배열 go_list를 초기화하고 띄어쓰기로 나누어진 0 과 1값을 맵핑해서
각 행에 append 해주고 입력받은 a,b값을 통해서 a행의 모든 값, b열의 모든
값을 변화시키면 중앙은 원래값으로 남기 때문에 문제의 조건을 만족한다.