구현, 수학

[백준] 2480. 주사위 세개 풀이

hch06 2025. 2. 4. 14:48

https://www.acmicpc.net/problem/2480

 

먼저 3개의 값을 입력받는다. 

 

3개가 모두 같은 수일때와 2개만 같은 수일 대, 모두 다른 수일때를 나눈다. 

 

3개가 모두 같은 수이면 10,000원+(같은 눈)×1,000을 저장, 2개만 같은 수이면 그 수가 무엇인지 찾고 1,000원+(같은 눈)×100을 저장, 모두 다른 수이면 그 중 가장 큰 값을 찾고  (그 중 가장 큰 눈)×100을 저장하여 문제를 해결하였다.

 


C

더보기
#include <stdio.h>

int main() {
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);
    
    int result;
    if(a == b && b == c && c == a) result = 10000 + (a * 1000); // 같은 눈이 세개가 나올 때
    else if(a == b || b == c || c == a){ // 같은 눈이 두개가 나올 때
        if(a == b) result = 1000 + (a * 100);
        else if(b == c) result = 1000 + (b * 100);
        else if(c == a) result = 1000 + (c * 100);
    }
    else{ // 모두 다른 눈이 나올 때
        if(a > b && b > c) result = a * 100;
        else if(a < b && b < c) result = c * 100;
        else if(a > b && b < c) {
            if(a > b && b < c && a < c) result = c * 100;
            else if(a > b && b < c && a > c) result = a * 100;
        }
        else if(a < b && b > c) result = b * 100;
    }
    printf("%d", result);
}

Python

더보기
a, b, c = map(int, input().split())

if a == b and b == c and c == a: result = 10000 + (a * 1000)  # 같은 눈이 세개가 나올 때
elif a == b or b == c or c == a: # 같은 눈이 두개가 나올 때
    if a == b: result = 1000 + (a * 100)
    elif b == c: result = 1000 + (b * 100)
    elif c == a: result = 1000 + (c * 100)
else: # 모두 다른 눈이 나올 때
    if a > b and b > c: result = a * 100
    elif a < b and b < c: result = c * 100
    elif a > b and b < c:
        if a > b and b < c and a < c: result = c * 100
        elif a > b and b < c and a > c: result = a * 100
    elif a < b and b > c: result = b * 100

print(result)

Java

더보기
import java.util.Scanner;

public class Main {
    public static void main(String args[]) {
      Scanner s = new Scanner(System.in);
      int a = s.nextInt(), b = s.nextInt(), c = s.nextInt();
      int v;
      if(a == b && b == c) v = 10000+(a*1000);
      else if(a == b) v = 1000+a*100;
      else if(b == c) v = 1000+b*100;
      else if(c == a) v = 1000+c*100;
      else{
          if(a > b) v = a > c ? a*100 : c*100;
          else v = b > c ? b*100 : c*100;
      }
      System.out.print(v);
    }
}

JavaScript

더보기
ip = require('fs').readFileSync(0).toString()
var [a, b, c] = ip.split(' ').map(Number)

if(a==b&&b==c) console.log(10000 + (a*1000))
else if(a==b) console.log(1000 + a*100)
else if(b==c) console.log(1000 + b*100)
else if(c==a) console.log(1000 + c*100)
else{
    if(a>b) console.log(a > c ? a*100 : c*100)
    else console.log(b > c ? b*100 : c*100)
}

 

'구현, 수학' 카테고리의 다른 글

[백준] 2506. 점수계산 풀이  (0) 2025.02.04
[백준] 2490. 윷놀이 풀이  (0) 2025.02.04
[백준] 2475. 검증수 풀이  (0) 2025.02.04
[백준] 2455. 지능형 기차 풀이  (0) 2025.02.04
[백준] 2447. 별 찍기 - 10 풀이  (0) 2025.02.04