[알고리즘] 백준 2908 상수 - B2

eternal moment·2023년 3월 31일
0

2023.04.01 풀이

import sys
input=sys.stdin.readline

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

li1=list(range(1,9))
li2=list(range(8,0,-1))

if s==li1:
    print("ascending")
elif s==li2:
    print("descending")
else:
    print("mixed")
  • 리스트에 순서대로 넣고 비교하고자 했는데

다른 풀이

a = list(map(int, input().split()))
 
if a == sorted(a):
    print('ascending')
elif a == sorted(a,reverse=True):
    print('descending')
else:
    print('mixed')
  • 그럴거면 어차피 1~8까지의 정렬된 리스트와 비교하는 것이 성능적으로 유리해보임 - 다른 리스트가 필요없으므로.
a = input()
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')
  • 아니면 아예 문자열 자체로 비교하는 방법도 있기는 함.

check point

  • range를 사용하여 리스트 만들기
    리스트 = list(range(횟수))
    리스트 = list(range(시작, 끝))
    리스트 = list(range(시작, 끝, 증가폭))

이 문법 쓸 때마다 헷갈리는데 확실히 외울 필요가 있을 것 같다..^^..

리스트 = list(range(시작, 끝))
리스트 = list(range(시작, 끝))
리스트 = list(range(시작, 끝)) .....^^;;

0개의 댓글