-
[Python] 6097 : 기초-리스트 설탕과자 뽑기코딩테스트/CodeUp 2024. 5. 22. 12:31
https://codeup.kr/problem.php?id=6097&rid=0
[기초-리스트] 설탕과자 뽑기(py)
python언어기초100제v1.0 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요. - 모든 내용
codeup.kr
h,w = map(int,input().split()) a = [[0 for j in range(w+1)]for i in range(h+1)] n = int(input()) for i in range(n): l, d, x, y = map(int,input().split()) if d == 0: for j in range(l): a[x][y+j] = 1 else: for j in range(l): a[x+j][y] = 1 for i in range(1, h+1) : for j in range(1, w+1) : print(a[i][j], end=' ') print()
- 왜 w, h 가 아닌 (w+1), (h+1)을 해야되는가?
- 사용자가 3 x 3 바둑판을 만들고 싶어 한다면 실제로는 3 x 3 크기의 배열이 필요하지만,
인덱스를 1부터 시작하는 방식을 채택한다면, 배열의 크기는 사용자가 원하는 바둑판(or행렬)
크기 보다 1만큼 더 커야 되기 때문이다. - 예시로 바둑판은 가로와 세로에 번호를 붙일 때 1부터 시작하는 것이 자연스럽다.
- 사용자가 3 x 3 바둑판을 만들고 싶어 한다면 실제로는 3 x 3 크기의 배열이 필요하지만,
- 리스트컨프리헨션으로 받는 다른 방법
- a = [[0]*(w+1) for _ in range(h+1)]
- 막대의 길이만큼 해당 방향( 0 or 1) 에 따라 a[x][y] 더 해준다.
- h x w 배열을 출력 한다.
'코딩테스트 > CodeUp' 카테고리의 다른 글
[Python] CodeUp 1420 : 3등 찾기 (0) 2024.05.27 [Python] 6098 기초-리스트 : 성실한 개미 (0) 2024.05.23 [Python] 6096 : 기초 리스트 바둑알 십자 뒤집기 (0) 2024.05.22 [Python] 1412 : 알파벳 개수 출력하기 (0) 2024.05.20 [Python] 기초 100제 : 바둑판에 흰 돌 놓기 (0) 2024.04.22 - 왜 w, h 가 아닌 (w+1), (h+1)을 해야되는가?