문제
세 수 A, B, C가 주어진다. A는 B보다 작고, B는 C보다 작다.
세 수 A, B, C가 주어졌을 때, 입력에서 주어진 순서대로 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 세 수 A, B, C가 주어진다. 하지만, 순서는 A, B, C가 아닐 수도 있다. 세 수는 100보다 작거나 같은 자연수이다. 둘째 줄에는 A, B, C로 이루어진 세 글자가 주어지며, 이 순서대로 출력하면 된다.
출력
주어진 세 수를 주어진 출력 순서대로 출력하면 된다.
풀이
입력받은 세 수를 오름차순으로 정렬한 뒤, 입력받은 문자에 해당하는 숫자를 출력하면 된다.
문자열은 ABC 세 문자로 이루어져 있으므로 아스키 코드를 이용하여 [해당 문자 - 'A']를 하게 되면 숫자 배열에서의 index를 얻을 수 있다.
코드
더보기
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int num[3];
for (int i = 0; i < 3; i++) {
cin >> num[i];
}
sort(num, num + 3);
char str[4];
cin >> str;
for (int i = 0; i < 3; i++) {
printf("%d ", num[str[i] - 'A']);
}
}
'Old > 백준' 카테고리의 다른 글
백준 9375번 패션왕 신해빈 // C++ (0) | 2020.02.19 |
---|---|
백준 11652번 카드 // C++ (0) | 2020.02.19 |
백준 7785번 회사에 있는 사람 // C++ (0) | 2020.02.19 |
백준 10825번 국영수 // C++ (0) | 2020.02.19 |
백준 6318번 Box of Bricks // C++ (0) | 2020.02.18 |