알고리즘/소프티어

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부터 시작도 마찬가지로 설정했다.

 

수도코드를 좀 더 잘 짤 수 있도록 연습해야겠다.