이 문제는 정렬을 통해서 풀어보았다.

먼저 여러 숫자를 입력받기 위해서 list(map(int, (sys.stdin.readline()).split()))를 통해서 list를 형성한다.

 

그 후, copy()를 통해서 asc일 때와 desc일 때에 원본 입력값을 각각 저장한다.

이후, asc는 sort()해서 오름차순으로 정렬된 변수 하나, 그리고 desc를 sort(reverse=True)를 통해서 내림차순으로 정렬시킨 변수 하나를 생성한다.

 

이후에 if-else문을 통해서 원본 입력값과 비교를 통해서 오름차순/내림차순, 그리고 그 외의 형태인 mixed인지를 출력하도록 하였다.

 


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import sys
num_original = list(map(int, (sys.stdin.readline()).split()))  # 잘 알아두자!!!! sys로 여러 개의 값을 입력받는 방법이다.
# print(num)
import copy
numSortAsc = copy.copy(num_original)
numSortDesc = copy.copy(num_original)
numSortAsc.sort()
numSortDesc.sort(reverse=True)
if num_original == numSortAsc:
    print("ascending")
elif num_original == numSortDesc:
    print("descending")
else:
    print("mixed")
 
cs

 

 

출처: https://www.acmicpc.net/problem/2920

 

2920번: 음계

다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8

www.acmicpc.net

 

+ Recent posts