반응형
SMALL
🧩 문제 이해하기
상상해봐요! 여러분이 체스 대회 심판이 되어 체스 세트를 점검하는 임무를 받았어요. 우리의 임무는:
- 정확한 체스 피스 개수 기억하기
- 현재 가지고 있는 피스 개수 확인하기
- 부족하거나 초과된 피스 개수 계산하기
- 결과 보고하기
체스 세트의 정확한 피스 개수는 다음과 같아요:
- 킹 1개, 퀸 1개, 룩 2개, 비숍 2개, 나이트 2개, 폰 8개
🔧 필요한 파이썬 도구들
1. 📋 리스트 (List)
체스 피스들을 정리하는 상자 역할을 해요.
chess_pieces = [1, 1, 2, 2, 2, 8]
2. 🤐 zip() 함수
두 개의 리스트를 짝짓는 마법사 역할을 해요.
for correct, current in zip([1, 2, 3], [1, 1, 1]):
print(f"차이: {correct - current}")
3. ✨ 리스트 내포 (List Comprehension)
간단하게 새로운 리스트를 만드는 마법 주문이에요.
squares = [x**2 for x in range(5)] # [0, 1, 4, 9, 16]
🚀 문제 해결 단계
- 정확한 체스 피스 개수 리스트 만들기
- 현재 가지고 있는 피스 개수 입력받기
- 부족하거나 초과된 피스 개수 계산하기
- 결과 보고하기
💻 파이썬 코드로 구현하기
# 1. 정확한 체스 피스 개수 리스트 만들기
correct_pieces = [1, 1, 2, 2, 2, 8]
# 2. 현재 가지고 있는 피스 개수 입력받기
current_pieces = list(map(int, input().split()))
# 3. 부족하거나 초과된 피스 개수 계산하기
difference = [correct - current for correct, current in zip(correct_pieces, current_pieces)]
# 4. 결과 보고하기
print(' '.join(map(str, difference)))
🧠 코드 설명
correct_pieces = [1, 1, 2, 2, 2, 8]
: 정확한 체스 피스 개수를 리스트로 만들어요.current_pieces = list(map(int, input().split()))
: 현재 피스 개수를 입력받아 리스트로 만들어요.difference = [correct - current for correct, current in zip(correct_pieces, current_pieces)]
:zip()
으로 두 리스트를 짝지어요.- 리스트 내포로 각 피스의 차이를 계산해요.
print(' '.join(map(str, difference)))
: 계산된 차이를 공백으로 구분해 출력해요.
🌟 예제로 이해하기
입력 예시:
0 1 2 2 2 7
과정 설명:
- 정확한 개수: [1, 1, 2, 2, 2, 8]
- 현재 개수: [0, 1, 2, 2, 2, 7]
- 차이 계산:
- 킹: 1 - 0 = 1 (1개 부족)
- 퀸: 1 - 1 = 0 (정확함)
- 룩: 2 - 2 = 0 (정확함)
- 비숍: 2 - 2 = 0 (정확함)
- 나이트: 2 - 2 = 0 (정확함)
- 폰: 8 - 7 = 1 (1개 부족)
출력 예시:
1 0 0 0 0 1
💡 팁
map(int, input().split())
는 입력받은 문자열을 정수 리스트로 변환해요.- 리스트 내포는 간결하고 읽기 쉬운 코드를 만들어줘요.
join()
을 사용하면 리스트의 요소들을 원하는 구분자로 연결할 수 있어요.
🎉 마무리
이렇게 하면 체스 세트를 완벽하게 점검할 수 있어요!
이 문제를 통해 리스트 다루기, zip()
함수 사용, 그리고 리스트 내포를 배웠네요.
이제 여러분은 파이썬으로 체스 세트를 관리하는 전문가가 되었어요! 다음엔 어떤 게임의 도구를 점검해볼까요? 🎲🃏
반응형
LIST
'Python > 백준' 카테고리의 다른 글
🔄 백준 10988 - '팰린드롬인지 확인하기' 문제 풀이 가이드#Python (1) | 2024.06.09 |
---|---|
🌟 백준 2444 - '별 찍기 - 7' 문제 풀이 가이드#Python (0) | 2024.06.09 |
🌱 백준 25083 - '새싹' 문제 풀이 가이드#Python (0) | 2024.06.09 |
🖨️ 백준 11718 - '그대로 출력하기' 문제 풀이 가이드#Python (0) | 2024.06.09 |
☎️ 백준 5622 - '다이얼' 문제 풀이 가이드#Python (4) | 2024.06.09 |