이 문제는 정렬을 통해서 풀어보았다.
먼저 여러 숫자를 입력받기 위해서 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
'코딩 문제풀이 및 연습 > Python 연습' 카테고리의 다른 글
[백준]16170_오늘의 날짜는 파이썬 (datetime, timedelta, year, month, day) (0) | 2021.07.17 |
---|---|
[백준] 17388_와글와글 숭고한 파이썬 (0) | 2021.07.17 |
sys.stdin.readline()을 사용해야하는 이유 ... [백준]15372_A Simple Problem (0) | 2021.07.16 |
[백준] 20673_Covid-19 파이썬 (0) | 2021.07.16 |
[백준]20254_Site Score 파이썬 (0) | 2021.07.16 |