BOJ/백준-2920-python

cosmos·2021년 3월 31일
2
post-thumbnail

문제📖

풀이🙏

  • 1부터 8까지 차례대로 연주한다면 asending
  • 8부터 1까지 차례대로 연주한다면 desending
  • 둘 다 아니라면 mixed다.
  • 연주한 순서가 주어졌을 때, 판별하는 프로그램을 작성하라.
  • 첫째 줄에 8개의 숫자가 주어진다.
  • 1부터 8까지 숫자가 한 번씩 등장한다.
    -> split(' ')로 공백을 기준으로 입력받았으며 list + map + int로 입력값을 int형으로 리스트화하였다.
    -> sorted함수로 원본은 훼손하지 않은채 정렬하였다.
    -> reverse = True를 주어 정렬한 후, 반전시켰다.
    -> 정렬한 값과 원본이 같을 경우 ascending을 반환.
    -> 정렬 + 반전한 값과 원본이 같을 경우 descending을 반환.
    -> 그 외의 경우에는 mixed를 반환하도록 작성하였다.

코드💻

# boj, 2920 : 음계, PyPy3
import sys

def scale(c_major_list):
    asc = sorted(c_major_list)
    des = sorted(c_major_list, reverse = True)
    
    if c_major_list == asc:
        return 'ascending'
    return 'descending' if c_major_list == des else 'mixed'
    
    
c_major_list = list(map(int, sys.stdin.readline().split(' ')))

print(scale(c_major_list))

결과😎

출처 && 깃허브📝

https://www.acmicpc.net/problem/2920
github

0개의 댓글