코드업(CodeUp) 풀이/파이썬 기초 100제

코드업[CodeUp] (파이썬) 6096번 풀이

개발윗미 2021. 9. 6. 16:14

Python으로 구현한 6096번 바둑알 십자 뒤집기 문제 풀이입니다.

 

https://codeup.kr/problem.php?id=6096 

 

[기초-리스트] 바둑알 십자 뒤집기(py)

python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용

codeup.kr


p = []

for i in range(20) :
  p.append([])
  for j in range(20) :
    p[i].append(0)

for i in range(19) :
  a = input().split()
  for j in range(19) :
    p[i+1][j+1] = int(a[j])

n = int(input())
for i in range(n) :
  x, y = map(int, input().split())
  for j in range(1, 20) :
    if p[j][y] == 0 :
      p[j][y] = 1
    else :
      p[j][y] = 0

    if p[x][j] == 0 :
      p[x][j] = 1
    else :
      p[x][j] = 0

for i in range(1, 20) :
  for j in range(1, 20) :
    print(p[i][j], end = ' ')
  print()

 

우선 바둑알이 깔려 있는 상황이 19 * 19 크기의 정수값으로 입력될 수 있도록 하고 십자 뒤집기 횟수 n을 입력받는다.

 

또한, 반복문 내에서 십자 뒤집기 좌표를 n만큼 입력받고 해당 위치의 십자 범위에 해당되는 값이 0이라면 1로,

 

1이라면 0으로 값을 갱신해준다.

 

최종적으로 십자 뒤집기를 수행한 전체 바둑판의 상황을 출력한다.