일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 이클립스
- 데이터베이스
- MySQL
- SQL 문법
- 위클리챌린지
- 기초
- 문제풀이
- 리눅스마스터 2급 2차
- 자바
- 스프링
- 백준
- SQL 정리
- 오라클
- 토이프로젝트
- 스파크
- 엘라스틱서치
- 해킹실습
- 알고리즘
- 필기
- 문법
- 모의해킹
- 프로그래밍
- 프로그래머스
- 빅데이터
- 스프링부트
- c언어
- 파이썬
- 데이터프로그래밍
- SQL
- 코딩테스트
- Today
- Total
개발일기
백준 1233번 파이썬 풀이 : 주사위 본문
문제 링크 : https://www.acmicpc.net/problem/1233
1233번: 주사위
지민이는 주사위 던지기 게임을 좋아하여 어느 날 옆에 있는 동호를 설득하여 주사위 던지기 게임을 하자고 하였다. 총 3개의 주사위가 있다. 그리고 이 주사위는 각각 S1(2 ≤ S1 ≤ 20), S2(2 ≤ S2
www.acmicpc.net
문제
지민이는 주사위 던지기 게임을 좋아하여 어느 날 옆에 있는 동호를 설득하여 주사위 던지기 게임을 하자고 하였다. 총 3개의 주사위가 있다. 그리고 이 주사위는 각각 S1(2 ≤ S1 ≤ 20), S2(2 ≤ S2 ≤ 20), S3(2 ≤ S3 ≤ 40)개의 면이 있다. (실제로는 주사위가 6개의 면이 있는 것이 정상이지만 특별한 주사위라 생각하자.)
문제는 세 개의 주사위를 동시에 던졌을 때 가장 높은 빈도로 나오는 세 주사위의 합을 구하는 것이다.
예를 들어, S1 = 3, S2 = 2, S3 = 3으로 주어질 때, 주사위1은 S1(3)개의 면이 있으므로 1, 2, 3의 눈을 가지고, 주사위2는 S2(2)개의 면이 있으므로 1, 2의 눈을 가지며, 주사위3은 S3(3)개의 면이 있으므로 1, 2, 3의 눈을 가진다. 이 때, 이 3개의 주사위를 던져서 눈의 합을 구하면, (1, 1, 1) = 3, (1, 1, 2) = 4, (1, 1, 3) = 5, ... , (3, 2, 1) = 6, (3, 2, 2) = 7, (3, 2, 3) = 8과 같은 합들을 얻을 수 있다. 이 때, 가장 많이 발생하는 합을 구하는 것이다.
입력
입력 파일의 첫째 줄에 정수 S1, S2, S3가 주어진다.
출력
출력 파일의 첫째 줄에 가장 높은 빈도로 나오는 세 주사위 합을 구하는 것이다. 단 답이 여러개라면 가장 합이 작은 것을 출력한다.
# 문제 풀이
주사위 3개의 최댓값을 모두 더했을 때 80이 나오게 된다.
따라서 배열을 1부터 80까지 총 81개를 생성해주고 브루트포스를 사용하여
하나씩 해당하는 값의 배열을 1씩 증가시켜 주면 된다.
1
2
3
4
|
s1, s2, s3 = map(int, input().split())
answer = [0] * 81
|
cs |
s1, s2, s3를 입력받고 총 81개의 배열을 생성한다. 여기서 0번째 배열은 사용하지 않는다.
1
2
3
4
|
for i in range(1, s1+1):
for j in range(1, s2+1):
for k in range(1, s3+1):
answer[i + j + k] += 1
|
cs |
주사위 3개의 값을 일일이 더한 후 해당하는 배열의 값을 1 증가시켜준다.
1
|
print(answer.index(max(answer)))
|
cs |
먼저 max(answer)을 하게 되면 배열중에 최댓값을 출력한다.
최대값이 의미하는 것은 가장 많은 빈도로 나왔다는 것이기 때문에 이 최대값을 가지고 있는 가장 첫번재의 index를 출력하면 된다.
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
백준 1476번 파이썬 풀이 : 날짜 계산 (0) | 2021.10.26 |
---|---|
백준 2765번 파이썬 풀이 : 자전거 속도 (0) | 2021.10.25 |
백준 1032번 파이썬 풀이 : 명령 프롬프트 (0) | 2021.10.23 |
백준 2684번 파이썬 풀이 : 동전 게임 (0) | 2021.10.21 |
백준 1439번 파이썬 풀이 : 뒤집기 (0) | 2021.10.17 |