문제
[Python] 코드
a, b, c = map(int, input().split())
if a == b == c:
price = 10000 + a * 1000
elif a == b or b == c:
price = 1000 + b * 100
elif a == c:
price = 1000 + a * 100
else:
price = max(a,b,c) * 100
print(price)
풀이
1. map함수와 split 함수를 이용해서 문자열을 나눈 뒤에 정수로 abc에 저장한다 (map함수의 사용법을 알게됐따!)
2. 이제 조건별로 나눠서 상금을 저장하고
2-1. 눈이 두 개가 같았을 경우는 ab bc, ac로 나누었다. ac bc, ab로 나눠도 상관없다. 그냥 코드 줄이려고 문자 겹치는 걸 사용했다.
3. 상금을 출력했다.
[C] 코드
#include <stdio.h>
int main() {
int a, b, c, price;
scanf("%d %d %d", &a, &b, &c);
if (a == b && b == c) {
price = 10000 + a * 1000;
}
else if (a == b || b == c) {
price = 1000 + b * 100;
}
else if (a == c) {
price = 1000 + a * 100;
}
else {
int max = a;
if (b > max) max = b;
if (c > max) max = c;
price = max * 100;
}
printf("%d\n", price);
return 0;
}
풀이
1. scanf로 주사위 눈을 받아준다.
2. 조건별로 상금을 설정한다.
2-1. c같은 경우는 파이썬 처럼 a==b==c가 안되기 때문에 &&를 사용해준다
2-2. c의 max 함수같은 경우는 2개 요소를 비교하는 거라 3가지 요소를 비교하는 현 상황엔 적합하지 않다. 그래서 일단 a를 max로 설정하고 b가 a보다 크다면 b가 max가 되게, a보다 큰 b가 c보다 작다면 c가 max가 되게 설정했고 그렇게 나온 max에 100을 곱했다. c가 b보다 작다면 if(c>max)가 성립이 안되기에 max는 b로 나오게 된다.
3. 그리고 나온 상금을 출력한다.
'백준 > 브론즈4' 카테고리의 다른 글
| [Python/C] 백준 2752번 - 세수정렬 (0) | 2025.04.13 |
|---|---|
| [Python/C] 백준 2742번 - 기찍 N (0) | 2025.04.13 |
| [Python] 백준 5565번 - 영수증 (0) | 2025.04.13 |
| [Python/C] 백준 2530번 - 인공지능 시계 (0) | 2025.04.13 |
| [Python] 백준 2083번 - 럭비 클럽 (2) | 2025.04.13 |