자바 백준 1233번
브론즈 2
https://www.acmicpc.net/problem/1233
1233번: 주사위
지민이는 주사위 던지기 게임을 좋아하여 어느 날 옆에 있는 동호를 설득하여 주사위 던지기 게임을 하자고 하였다. 총 3개의 주사위가 있다. 그리고 이 주사위는 각각 S1(2 ≤ S1 ≤ 20), S2(2 ≤ S2
www.acmicpc.net
문제 보기

분류: 구현, 브루트포스 알고리즘
코드 보기
import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int S1 = sc.nextInt(); int S2 = sc.nextInt(); int S3 = sc.nextInt(); // 가장 빈도가 높은 주사위 합을 찾는 함수 호출 int result = findMostFrequentDiceSum(S1, S2, S3); // 결과 출력 System.out.println(result); } // 가장 빈도가 높은 주사위 합을 찾는 함수 public static int findMostFrequentDiceSum(int S1, int S2, int S3) { // 주사위 합의 빈도수를 저장할 배열 int[] diceSumFrequency = new int[S1 + S2 + S3 + 1]; // 모든 주사위의 눈을 돌면서 합의 빈도수를 계산 for (int i = 1; i <= S1; i++) { for (int j = 1; j <= S2; j++) { for (int k = 1; k <= S3; k++) { // 주사위 합의 빈도수 증가 diceSumFrequency[i + j + k]++; } } } int maxFrequency = 0; // 가장 높은 빈도수 int result = 0; // 결과값을 저장할 변수 for (int sum = 3; sum <= S1 + S2 + S3; sum++) { if (diceSumFrequency[sum] > maxFrequency) { // 현재 합의 빈도수가 최댓값보다 크면 maxFrequency = diceSumFrequency[sum]; // 최댓값 갱신 result = sum; // 결과값 갱신 } } // 가장 높은 빈도수를 가진 주사위 합 반환 return result; } }
'공부하기 > 백준' 카테고리의 다른 글
[Java] 백준 풀기 5026 - 박사 과정 (0) | 2023.12.31 |
---|---|
[Java] 백준 풀기 2338 - 긴자리 계산 (2) | 2023.12.28 |
[Java] 백준 풀기 15786 - Send me the money (0) | 2023.12.26 |
[Java] 백준 풀기 9946 - 단어 퍼즐 (0) | 2023.12.23 |
[Java] 백준 풀기 10769 - 행복한지 슬픈지 (2) | 2023.12.22 |