본문 바로가기

Programming/ACMICPC

ACMICPC 3047 ABC

문제

세 수 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