문제 확인
- 사이트에서 문제를 확인해주세요.
나의 풀이
단순한 문제라서 풀이에 대해 말할 것은 없다.
하지만 답이 이미 [1,2,3,4,5,6,7,8] 또는 [8,7,6,5,4,3,2,1]로 주어진 상황에서 굳이 원소 별로 확인할 필요가 없었던 거 같은데 그냥 관성적으로 접근했던 거 같다. 쉬운 문제여도 더 효율적으로 풀 수 있게 좀 더 생각하면서 풀자.
import sys
speed = list(map(int, input().split()))
asc = 0
dsc = 0
for i in range(8):
if speed[i] == i + 1:
continue
else:
break
else:
asc = 1
for i in range(8):
if speed[i] == 8 - i:
continue
else:
break
else:
dsc = 1
if asc == 1:
print("ascending")
elif dsc == 1:
print("descending")
else:
print("mixed")
다른 사람 풀이
정답과 바로 비교하는 풀이다. 이렇게 풀 수 있도록 노력해보자.
import sys
n = list(map(int, sys.stdin.readline().split()))
if n == [1, 2, 3, 4, 5, 6, 7, 8]:
print("ascending")
elif n == [8, 7, 6, 5, 4, 3, 2, 1]:
print("descending")
else:
print("mixed")