알고리즘/소프티어
Level2 - 8단 변속기.py
funtastie
2023. 1. 5. 20:58
출력형식
첫째 줄에 ascending, descending, mixed 중 하나를 출력한다.
입력예제1
1 2 3 4 5 6 7 8
출력예제1
ascending
Code
import sys
result=''
data = list(map(int, sys.stdin.readline().split()))
if data[0] == 1:
result = 'ascending'
for i in range(1,len(data)-1):
if data[i]-data[i-1] !=1:
result = 'mixed'
break
elif data[0] == 8:
result = 'descending'
for i in range(7, len(data)-1):
if data[i+1]-data[i] != 1:
result = 'mixed'
break
else:
result = 'mixed'
print(result)
import sys
a = list(map(int,sys.stdin.readline().split()))
if a == [1,2,3,4,5,6,7,8]:
print("ascending")
elif a == [8,7,6,5,4,3,2,1]:
print("descending")
else:
print("mixed")
위 코드는 다른 분이 푼 코드인데, 세상 간단하다..
배운점
list(map( )) 구문을 쓰는 것을 다시 배웠다. 이론으로 배웠을 때는 당연하다고 생각했는데, 막상 문제를 풀 때는 기억이 안난다.. 역시 실제로 써보면서 다시 익혀야 하는게 중요하다.
처음에는 count값이 7이 되면 acsending이 나오게끔 하려했는데, 알고리즘 방에 mix, descending도 구현해줘야한다고 답해주셔서, 카운트로는 안되겠다고 생각이 들었다. 첫 시작을 정해주고 cnt해주면 가능할 것으로 보이긴 한다.
1부터 시작할 경우 오름차순으로 초기설정 후, 1씩 상승하지 않으면 mixed 리턴. 8부터 시작도 마찬가지로 설정했다.
수도코드를 좀 더 잘 짤 수 있도록 연습해야겠다.