백준#2920 음계

정은경·2020년 11월 2일
0

백준 문제풀이

목록 보기
47/51

1. 문제

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

  • Easy레벨/ 배열, 구현 / 15분컷

2. 나의 풀이

2-1 풀이

nums = [int(x) for x in input().split()]

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

2-2 풀이

위에서 풀이에서 시간을 줄여보자.

nums = [int(x) for x in input().split()]

prev = nums[0]
is_ascending = True
is_descending = True
is_mixed = False
for i in range(1, len(nums)):
    if prev < nums[i]:
        is_descending = False
    elif prev > nums[i]:
        is_ascending = False
    prev = nums[i]

    if is_ascending is False and is_descending is False:
        is_mixed = True
        break

if is_ascending:
    print("ascending")
elif is_descending:
    print("descending")
elif is_mixed:
    print("mixed")

3. 남의 풀이

a = list(map(int, input().split(' ')))
ascending = True
descending = True

for i in range(1, 8):
    if a[i] > a[i-1]:
        descending = False
    elif a[i] < a[i-1]:
        ascending = False

if ascending:
    print("ascending")
elif descending:
    print("descending")
else:
    print("mixed")

4. 느낀 점

  • 파이썬 문자열의 split 메소드
>>> '3    2  1'.split()
['3', '2', '1']
>>> '3    2  1'.split(' ')
['3', '', '', '', '2', '', '1']
>>>
profile
#의식의흐름 #순간순간 #생각의스냅샷

0개의 댓글