https://www.acmicpc.net/problem/2752
처음에 풀 때 경우의 수가 너무 많이 생각나서 간단히 풀 수 있는 방법이 없을까 고민하다가 생각이 안나서 구글링으로 알아냈다. 정말 참신한 풀이..!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
#include <bits/stdc++.h>
using namespace std;
int main(void) {
ios::sync_with_stdio(0);
cin.tie(0);
int a, b, c, t;
cin >> a >> b >> c;
if (a > b) {
t = a; a = b; b = t;
}
if (b > c) {
t = b; b = c; c = t;
}
if (a > b) {
t = a; a = b; b = t;
}
cout << a << " " << b << " " << c;
}
|
cs |
이 풀이의 아이디어는 이렇다.
< 큰 수를 제일 오른쪽으로 옮긴다!> (내림차순으로 출력해야 한다면 큰 수를 왼쪽으로 옮겨야할 것이다.)
1. a 와 b 를 비교해서 큰 수를 b로 옮긴다.
2. b 와 c 를 비교해서 큰 수를 c로 옮긴다.
1, 2번을 실행한 후에는 a, b, c중에서 가장 큰 수가 c에 들어가 있을 것이다.
3. 마지막으로 a, b를 비교해서 더 큰 수를 b에 넣어준다.
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
a, b, c = map(int, input().split())
if a > b:
t = a
a = b
b = t
if b > c:
t = b
b = c
c = t
if a > b:
t = a
a = b
b = t
print("{} {} {}".format(a, b c))
|
cs |
C++ C++
출처: https://jeonggyun.tistory.com/75
'자료구조와 알고리즘 > Baekjoon' 카테고리의 다른 글
[백준][C++] 2309번: 일곱 난쟁이 (0) | 2019.09.29 |
---|---|
[백준][C++] 2490번: 윷놀이 (0) | 2019.09.29 |
[백준][그리디 알고리즘][파이썬] 1541.잃어버린 괄호 (0) | 2019.08.26 |
[백준][그리디 알고리즘][파이썬] 11047.동전 0 (0) | 2019.08.01 |
[백준][그리디 알고리즘][파이썬] 11399.ATM (0) | 2019.07.30 |