알고리즘/백준

[백준 / Python] 3047번 ABC | 초코더

cloud_nice 2020. 1. 13. 18:04

https://www.acmicpc.net/problem/3047

 

3047번: ABC

문제 세 수 A, B, C가 주어진다. A는 B보다 작고, B는 C보다 작다. 세 수 A, B, C가 주어졌을 때, 입력에서 주어진 순서대로 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 세 수 A, B, C가 주어진다. 하지만, 순서는 A, B, C가 아닐 수도 있다. 세 수는 100보다 작거나 같은 자연수이다. 둘째 줄에는 A, B, C로 이루어진 세 글자가 주어지며, 이 순서대로 출력하면 된다. 출력 주어진 세 수를 주어진 출력 순서대로 출력하면

www.acmicpc.net

접근법

입력받은 숫자는 nums라는 리스트로 저장하고, 입력받은 문자열은 strs라는 변수에 저장합니다.

nums를 정렬합니다.

그리고 strs를 반복문을 돌려 확인하는데, 만약 A라면 nums[0]출력, B라면 nums[1]출력, C라면 nums[2]를 출력합니다.

그럼 strs에 들어있는 문자열의 순서대로 출력되기 때문입니다.

 

나의풀이

nums=list(map(int,input().split()))
strs=input()
nums.sort()
for string in strs:
    if string=='A':
        print(nums[0],end=' ')
    elif string=='B':
        print(nums[1],end=' ')
    elif string=='C':
        print(nums[2],end=' ')