uju's Tech

[Baekjoon : Python] ABC : 3047 본문

Baekjoon

[Baekjoon : Python] ABC : 3047

ujusy 2020. 7. 31. 00:29

<본 포스팅은 공부목적으로 작성되었습니다. 혹시 틀린 부분이 있거나 문제가 되는 부분이 있다면 답글 달아주세요!>

ABC : 3047


사용언어: python

문제

세 수 A, B, C가 주어진다. A는 B보다 작고, B는 C보다 작다.

세 수 A, B, C가 주어졌을 때, 입력에서 주어진 순서대로 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 세 수 A, B, C가 주어진다. 하지만, 순서는 A, B, C가 아닐 수도 있다. 세 수는 100보다 작거나 같은 자연수이다. 둘째 줄에는 A, B, C로 이루어진 세 글자가 주어지며, 이 순서대로 출력하면 된다.

출력

주어진 세 수를 주어진 출력 순서대로 출력하면 된다.

Think

  • 처음에 봤을 때는 이해를 잘 못했다.
  • 다시 천천히 읽어보니 두 번째 줄에 나오는 알파벳 순서대로 결과를 출력을 해주면 되는 것 같다.
  • 만약에 1 5 3 / A C B 이면 출력을 1 5 3 으로 해주면 된다.
  • 그러면 처음에 리스트로 받아 sort를 이용해 정렬을 해주고 딕셔너리를 이용하여 key를 A , B , C로 만들어 주면 될 것 같다.

Code

import sys

myList = list(sys.stdin.readline().split())
myList = [int(i) for i in myList]
strA = list(str(sys.stdin.readline()))[:-1]

myList.sort()
myDic = dict(A= myList[0], B = myList[1], C = myList[2])

for item in strA:
    print(myDic[item],end = ' ')
Comments