Python/백준
🏀 백준 10810 - '공 넣기' 문제 풀이 가이드 #Python
고발초이이
2024. 6. 3. 13:50
반응형
SMALL
🧩 문제 이해하기
상상해봐요! 여러분 앞에 빈 바구니들이 일렬로 놓여있어요. 우리의 임무는 이 바구니들에 공을 넣는 거예요.
어떻게 할까요?
- 바구니의 개수(N)와 공을 넣는 횟수(M)를 정해요.
- 매번 공을 넣을 때, 어느 범위의 바구니에 어떤 번호의 공을 넣을지 결정해요.
- 모든 작업이 끝나면, 각 바구니에 어떤 공이 들어있는지 확인해요.
🔧 필요한 파이썬 도구들
1. 📋 리스트 (List)
여러 개의 바구니를 표현하는데 사용해요.
baskets = [0, 0, 0, 0, 0] # 5개의 빈 바구니
2. ✂️ 슬라이싱 (Slicing)
바구니의 특정 범위를 선택할 때 사용해요.
baskets[1:3] = [2, 2] # 2번째와 3번째 바구니에 2번 공을 넣어요
🚀 문제 해결 단계
- 빈 바구니 만들기
- 공 넣기 작업 수행하기
- 결과 확인하기
💻 파이썬 코드로 구현하기
# 1. 빈 바구니 만들기
N, M = map(int, input().split())
baskets = [0] * N
# 2. 공 넣기 작업 수행하기
for _ in range(M):
i, j, k = map(int, input().split())
for x in range(i-1, j):
baskets[x] = k
# 3. 결과 확인하기
print(' '.join(map(str, baskets)))
🧠 코드 설명
N, M = map(int, input().split())
: 바구니 개수(N)와 작업 횟수(M)를 입력받아요.baskets = [0] * N
: N개의 빈 바구니를 만들어요.for _ in range(M):
: M번 공을 넣는 작업을 반복해요.i, j, k = map(int, input().split())
: 어느 범위(i부터 j까지)에 어떤 공(k)을 넣을지 입력받아요.for x in range(i-1, j):
: i부터 j까지의 바구니에 k번 공을 넣어요.print(' '.join(map(str, baskets)))
: 각 바구니에 어떤 공이 들어있는지 출력해요.
🌟 예제로 이해하기
입력 예시:
5 3
1 2 3
3 4 4
1 5 1
과정 설명:
- 5개의 빈 바구니를 만들어요: [0, 0, 0, 0, 0]
- 1~2번 바구니에 3번 공을 넣어요: [3, 3, 0, 0, 0]
- 3~4번 바구니에 4번 공을 넣어요: [3, 3, 4, 4, 0]
- 1~5번 바구니에 1번 공을 넣어요: [1, 1, 1, 1, 1]
출력 예시:
1 1 1 1 1
🎉 마무리
이렇게 하면 공 넣기 게임을 파이썬으로 구현할 수 있어요!
이 문제를 통해 리스트 조작과 반복문 사용을 연습할 수 있답니다.
여러분도 이제 파이썬으로 재미있는 게임을 만들 수 있어요! 🎈🎊
반응형
LIST