안경잡이 구루루

백준 2920 (음계) [Python/파이썬] [Implement/구현] 본문

파이썬(Python)/문제풀이(백준,BaekJoon)

백준 2920 (음계) [Python/파이썬] [Implement/구현]

구루루(gururu) 2023. 10. 11. 14:06
반응형

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

 


나:

melodys = list(map(int,input().split()))

if melodys == sorted(melodys):
    print("ascending")
elif melodys == sorted(melodys,reverse=True):
    print("descending")
else:
    print("mixed")

완성된 코드는 위와 같다.

입력값은 공백을 기준으로 정수형 숫자 8 개를 입력받을 수 있도록 melodys 리스트 변수를 선언

이때 sorted() 함수를 이용해 asc, desc 에 해당하는 경우로 바꿔 이와 같은지 다른지 if 구문으로 판단

( 참고로 이와 비슷한 리스트.sort() 는 '본체'의 리스트를 정렬해서 변환하고 여기서 쓰인  sorted(리스트)는 본체 리스트는 놔두고 '새롭게' 정렬한 리스트를 반환한다.)


다른사람:

lst = list(map(int, input().split()))
ascending = [1,2,3,4,5,6,7,8]
descending = [8,7,6,5,4,3,2,1]
if lst == ascending:
    print('ascending')
elif lst == descending:
    print('descending')
else:
    print('mixed')

완성된 코드는 위와 같다,

다른점은 미리 ascend, descend에 해당하는 각각 경우를 미리 만들고 이와 같은지 아닌지 판단했다.

반응형