5.19 미경이 스터디

코변·2022년 5월 18일
0
post-thumbnail

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열의 모든

값을 변화시키면 중앙은 원래값으로 남기 때문에 문제의 조건을 만족한다.

profile
내 것인 줄 알았으나 받은 모든 것이 선물이었다.

0개의 댓글