Algorithm/백준(BOJ)
[백준] 2480. 주사위 세개 (Java)
Carroti
2022. 10. 2. 23:51
문제
2480번: 주사위 세개
1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 같은 눈이 3개가 나오면 10,000원+(같은 눈)×1,000원의 상금을 받게 된다. 같은 눈이 2개
www.acmicpc.net
알고리즘
없음
풀이
1. 1부터 6까지 숫자가 각각 몇번 나왔는지 센다.
만약 입력이 3 3 6 이라면 수의 등장 횟수는 [0 0 2 0 0 1] 이 된다.
2.1부터 6까지 등장 횟수를 확인한다.
숫자 i의 등장 횟수를 c라고 할 때,
숫자가 2번 이상 나왔다면 답은 10c+1 + 10c * i이고, 다른 숫자를 확인할 필요가 없다.
숫자가 1번 나왔다면 답을 100 * i 로 갱신한다. 작은 수부터 큰 수로 확인하기 때문에 가장 큰 눈 * 100이 저장된다.
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
int count[] = new int[7];
for (int i = 0; i < 3; i++)
count[Integer.parseInt(st.nextToken())]++;
int ans = 0;
for(int i=1; i<=6; i++) {
if(count[i]>1) {
ans = (int) (Math.pow(10, count[i]+1) + Math.pow(10, count[i])*i);
break;
}
else if(count[i] == 1) {
ans = i * 100;
}
}
System.out.println(ans);
}
}