1. 필요한 체스 수량 맞추기
# 정해진 체스 수량을 담을 리스트생성
pieces = [1, 1, 2, 2, 2, 8]
# 나중에 결과 값을 담을 리스트 생성
result_pieces = []
# 사용자가 입력할 재고 체스 리스트 생성
in_picees = list(map(int, input().split()))
# 반복문을 이용하여 계산준비
for i in range(6): # 체스수량 6개 반복
sum1 = pieces[i] - in_picees[i] # pieces 인덱스를 0부터 차례대로 -계산되면서 결과 값이
result_pieces.append(sum1) # result_pieces의 리스트에 추가됨
print(*result_pieces) # 결과를 언패킹
2. 다이아 모양 별찍기
n = int(input())
for i in range(n):
for j in range(n-1-i): # 공백이 (5-1-0)=4 => (5-1-1)=3 => (5-1-2)=2 ...
print(' ', end='')
for k in range(2*i+1): # 별이 2씩 증가, (2*0+1)=1 => (2*1+1)=3 => (2*2+1)=5 ...
print('*', end='')
print()
for e in range(n-1): # 밑에 별이 더 적음 (n-1) == (5-1)
for h in range(e+1): # 공백수 (0+1)=>(1+1)=>(2+1)...
print(' ', end='')
for y in range((2*n-3)-2*e): # (2*5-3)-2*0= 7 => 7-2=5 => 7-4=3 ...
print('*', end='')
print()
3. 입력된 문자열에서 가장 많이 사용된 문자 찾기
# 입력 받은 문자열을 대문자로 바로 변환
a = input().upper()
# 알파벳 개수만큼의 0이 담긴 리스트를 counts로 지정
counts = [0] * 26
# for문을 사용하여 입력받은 문자열을 아스키 코드로 저장하면서 인덱스에 카운트를 올려줌
for char in a:
index = ord(char) - ord('A')
counts[index] += 1
# 최고 인덱스 변수 만들기
max_a = max(counts)
max_a_count = counts.count(max_a)
# if문을 사용하여 최고 인덱스를 가진 문자가 2개이상이면 ? 출력하기
if max_a_count > 1:
print('?')
# 이제 남은 인덱스에 ord('A')를 더해서 출력하게 만든다.
else:
print(chr(counts.index(max_a) + ord('A')))
이 문제는 내 기준 어려웠다. 아직 인덱스를 사용하는게 어색한거 같다.
4. 코드업

'3. 자습 & 메모(실전, 실습, 프로젝트) > 3-1 문제 해석' 카테고리의 다른 글
| Python | 문제 풀이 및 해석(4) (0) | 2025.11.09 |
|---|---|
| Python | 문제 풀이(2) (0) | 2025.10.26 |
| Python | 문제 풀이(1) (0) | 2025.10.25 |