문제📖
풀이🙏
- 1부터 8까지 차례대로 연주한다면 asending
- 8부터 1까지 차례대로 연주한다면 desending
- 둘 다 아니라면 mixed다.
- 연주한 순서가 주어졌을 때, 판별하는 프로그램을 작성하라.
- 첫째 줄에 8개의 숫자가 주어진다.
- 1부터 8까지 숫자가 한 번씩 등장한다.
-> split(' ')
로 공백을 기준으로 입력받았으며 list
+ map
+ int
로 입력값을 int형
으로 리스트화하였다.
-> sorted
함수로 원본은 훼손하지 않은채 정렬하였다.
-> reverse = True
를 주어 정렬한 후, 반전시켰다.
-> 정렬한 값과 원본이 같을 경우 ascending을 반환.
-> 정렬 + 반전한 값과 원본이 같을 경우 descending을 반환.
-> 그 외의 경우에는 mixed를 반환하도록 작성하였다.
코드💻
import sys
def scale(c_major_list):
asc = sorted(c_major_list)
des = sorted(c_major_list, reverse = True)
if c_major_list == asc:
return 'ascending'
return 'descending' if c_major_list == des else 'mixed'
c_major_list = list(map(int, sys.stdin.readline().split(' ')))
print(scale(c_major_list))
결과😎
출처 && 깃허브📝
https://www.acmicpc.net/problem/2920
github