728x90
문제 이해하기
조건)
바구니를 총 N개 가지고 있고,앞으로 M번 공을 넣으려고 한다 ( n, m )
한 번 공을 넣을 때, 공을 넣을 바구니 범위를 정하고, ( i, j )
정한 바구니에 모두 같은 번호가 적혀있는 공을 넣는다. ( k )
만약, 바구니에 공이 이미 있는 경우에는 들어있는 공을 빼고, 새로 공을 넣는다.
공을 넣을 바구니는 연속되어 있어야 한다.
< 배열 > <입력> <리스트에 들어있는 공 번호>
[0 0 0 0 0] 5 4
[1 2 3 4 5] --> 바구니 번호
[3 3 0 0 0] 1 2 3 --> 1번부터 2번까지 3번 공을 넣어라 - > [3 3 0 0 0]
[0 0 4 4 0] 3 4 4 --> 3번부터 4번까지 4번 공을 넣어라 - > [3 3 4 4 0]
[1 1 1 1 0] 1 4 1 --> 1번부터 4번까지 1번 공을 넣어라 - > [1 1 1 1 0]
[0 2 0 0 0] 2 2 2 --> 2번부터 2번까지 2번 공을 넣어라 - > [1 2 1 1 0]
--------------------------------------
[1 2 1 1 0] --> 출력
코드 입력 )
n,m = map(int, input().split()) # 원하는 바구니 개수(n)와 넣을 수 있는 공의 개수(m)) 구하기
basket = [0 for _ in range(n)] # 바구니 개수 생성.
for _ in range(m): # m개의 줄에 걸쳐서 공을 넣는 방법 돌리기
i, j, k = map(int, input().split()) # i번 바구니부터 j번 바구니까지에 k번 번호가 적혀져 있는 공 입력받
for z in range(i, j+1): # 원하는 바구니 위치
basket[z-1] = k # 리스트는 0번부터 시작하니까 z-1을 해주고, k를 i-j까지 넣어놓기
for z in range(n): # 바구니 개수만큼 돌리기
print(basket[z],end = " ") # 바구니 사이사이에 공백 넣기
**
파이썬 반복문에서 언더바(_) 사용
basket = [0 for _ in range(n)] # 바구니 개수 생성.
ex)
** 변수 값이 필요없을 때 언더바 (_)를 사용한다.
그래서 리스트에 사용할 때는 리스트 초기화에도 사용 가능!
array = [0 for _ in range (3)]
print(array)
>>> [0, 0, 0]
'코딩테스트 > python' 카테고리의 다른 글
[백준/Python] 10813번 - 공 바꾸기 (0) | 2023.11.27 |
---|---|
[백준/Python] 5597번 - 과제 안 내신 분..? (0) | 2023.11.27 |
[백준/Python] 10811번 : 바구니 뒤집기 (1) | 2023.11.27 |
[백준/Python] 27866번 : 문자와 문자열 (0) | 2023.11.27 |
[백준/Python] 2743번 : 단어 길이 재기 (0) | 2023.11.26 |