티스토리 뷰
728x90
구현 기준
- 가로(20) X 세로(20)인 2차원 배열을 생성하고 동그라미(O)로 초기화한다.
- 첫 번째 입력받은 수만큼 좌표를 입력받는다.
- 그 후 입력받은 각 좌표에 해당하는 동그라미를 엑스(X)로 바꾼다.
- 해당 2차원 배열을 출력한다.
소스 코드
n = int(input())
arr = [['O']*20 for _ in range(20)]
for i in range(n) :
x,y = input().split()
arr[int(x)][int(y)] = 'X'
print('\n'.join([' '.join([str(i) for i in row]) for row in arr]))
입력 예시
5
1 2
3 3
5 7
9 10
15 8
출력 결과
O O O O O O O O O O O O O O O O O O O O
O O X O O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O
O O O X O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O
O O O O O O O X O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O
O O O O O O O O O O X O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O
O O O O O O O O X O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O
O O O O O O O O O O O O O O O O O O O O
주의사항
python에서 2차원 이상의 배열(list)를 초기화 할 때
arr = [['O'] * n] * n
방식으로 초기화할 경우, 각 row가 같은 객체로 인식된다. (얕은복사)
입력 예시
arr = [['O'] * 5] * 5
arr[0][0] = 'X'
arr[1][1] = 'X'
arr[3][3] = 'X'
print('\n'.join([' '.join([str(i) for i in row]) for row in arr]))
출력 결과
X X O X O
X X O X O
X X O X O
X X O X O
X X O X O
728x90
'KR > Python' 카테고리의 다른 글
[Python] 수열 구현하기 (0) | 2021.05.03 |
---|---|
[Python] 3 6 9 게임 구현하기 (4) | 2021.05.03 |
[PYTHON3] CSV/TSV 매 행마다 공백줄 생성 문제 해결 방법 (2) | 2019.12.05 |