문제
세 수 A, B, C가 주어진다. A는 B보다 작고, B는 C보다 작다.
세 수 A, B, C가 주어졌을 때, 입력에서 주어진 순서대로 출력하는 프로그램을 작성하시오.
입력
첫째 줄에 세 숫자 A, B, C가 주어진다.
하지만, 순서는 A, B, C가 아닐 수도 있다. 세 숫자는 100보다 작거나 같은 자연수이다.
둘째 줄에는 A, B, C로 이루어진 세 글자가 주어지며, 이 순서대로 출력하면 된다.
출력
주어진 세 수를 주어진 출력 순서대로 출력하면 된다.
방금전 풀었던 2752 문제의 확장판 정도?
정렬한 값을 원하는 순서대로 출력해 내기만 하면 된다.
주어지는 A,B,C는 C > B > A를 만족한다.
num[ord(order[0])-65]
이 부분이 조금 헷갈리게 느껴질 수 있는데,
ord() 함수는 주어진 문자를 아스키 코드값으로 변경시켜준다.
A, B, C의 아스키코드는 각각 65, 66, 67 이다. 이 값에서 65만큼 빼주면
원하는 순서의 num 값이 나오게 된다.
(num을 이미 소팅해놨기 때문에 0 부터 2 까지 작은 값부터 순서대로 들어있다.)
'Programming > ACMICPC' 카테고리의 다른 글
ACMICPC 2562 최대값 (0) | 2015.10.01 |
---|---|
ACMICPC 2750 수 정렬하기 (0) | 2015.10.01 |
ACMICPC 2752 세수정렬 (0) | 2015.10.01 |
ACMICPC 2577 숫자의 개수 (0) | 2015.10.01 |
ACMICPC 3052 나머지 (0) | 2015.10.01 |