-
백준 1233번 : 주사위c c++ 언어 공부 2023. 8. 21. 10:48
https://www.acmicpc.net/problem/1233
1233번: 주사위
지민이는 주사위 던지기 게임을 좋아하여 어느 날 옆에 있는 동호를 설득하여 주사위 던지기 게임을 하자고 하였다. 총 3개의 주사위가 있다. 그리고 이 주사위는 각각 S1(2 ≤ S1 ≤ 20), S2(2 ≤ S2
www.acmicpc.net
Code:
123456789101112131415161718192021222324252627282930#include <stdio.h>int main() {int a, b, c;scanf("%d %d %d", &a, &b, &c);int i, j, k;int check[16001] = { 0, };int max = 0;int result = 0;for (i = 1; i <= a; i++){for (j = 1; j <= b; j++){for (k = 1; k <= c; k++){check[i+j+k]++;}}}for (int i = 1; i <= a+b+c; i++){if (max < check[i]){max = check[i];result = i;}continue;}printf("%d", result);}cs 문제 내용
문제: 세 개의 특별한 주사위가 있습니다. 각 주사위는 각각 S1, S2, S3 개의 면을 가집니다. 이 세 주사위를 동시에 던져 나올 수 있는 모든 눈의 합 중에서 가장 높은 빈도로 나오는 합을 구하고, 그 합을 출력합니다. 만약 빈도가 동일한 합이 여러 개라면, 그 중에서 가장 작은 합을 출력합니다.
입력: 정수 S1, S2, S3 (2 ≤ Si ≤ 20)
출력: 가장 높은 빈도로 나오는 합 중에서 가장 작은 합
풀이 방법
이 문제를 해결하기 위해서는 가능한 모든 눈의 합을 계산하고, 그 눈의 합의 빈도를 측정해야 합니다. 다음은 이 문제를 풀기 위한 단계별 풀이 방법입니다:
- 입력값으로 주어진 S1, S2, S3를 사용하여 세 개의 주사위가 가질 수 있는 모든 눈의 경우의 수를 생성합니다.
- 세 주사위를 동시에 던져서 가능한 모든 눈의 합을 계산하고, 이 눈의 합을 빈도수를 기록하는 배열에 기록합니다.
- 이 빈도수 배열에서 가장 높은 빈도수를 찾고, 해당 빈도수를 가지는 눈의 합을 찾습니다.
- 빈도가 동일한 합이 여러 개라면, 그 중에서 가장 작은 합을 찾습니다.
- 최종적으로 가장 빈도가 높은 합 중에서 가장 작은 합을 출력합니다.
'c c++ 언어 공부' 카테고리의 다른 글
백준 1343번 : 폴리오미노(C 언어) (0) 2023.08.22 백준 11557번 : Yangjojang of The Year(C 언어) (0) 2023.08.22 백준 1236번 : 성 지키기 (0) 2023.08.21 백준 5347번 : LCM(C 언어) (0) 2023.07.02 백준 2530번 : 인공지능 시계 (C 언어) (0) 2023.07.02