Programming/백준
[브론즈 2] 백준 1233 - 주사위 (파이썬)
pental
2025. 5. 21. 19:23
https://www.acmicpc.net/problem/1233
풀이
- 합의 개수를 저장할 리스트 생성따라서 인덱스를 0부터 S1+S2+S3까지 만들고, 각 인덱스에 해당 합이 나오는 횟수를 저장한다.
- count = [0] * (S1 + S2 + S3 + 1)
- 최대 합은 S1 + S2 + S3이고, 최소 합은 3이다.
- 모든 주사위 눈 조합의 합을 카운트
for i in range(1, S1 + 1): for j in range(1, S2 + 1): for k in range(1, S3 + 1): count[i + j + k] += 1
- 3중 for문을 돌며 각 눈의 합을 구하고, 그 합의 개수를 증가시킨다.
- 가장 자주 나온 합을 찾기
max_val = -1 who = -1 for i in range(S1 + S2 + S3 + 1): if max_val < count[i]: max_val = count[i] who = i
- 최대값을 찾아 해당 합(who)을 저장한다.
코드
# 백준 1233 - 주사위
# 분류 : 브루트포스
S1, S2, S3 = map(int, input().split())
count = [0] * (S1 + S2 + S3 + 1)
for i in range(1, S1 + 1) :
for j in range(1, S2 + 1) :
for k in range(1, S3 + 1) :
count[i + j + k] += 1
max_val = -1
who = -1
for i in range(S1 + S2 + S3 + 1) :
if max_val < count[i] :
max_val = count[i]
who = i
print(who)