
HSAT 4회 정기 코딩 인증평가 기출 | 통근버스 출발 순서 검증하기
단순 조건만 맞춰서 구현하는 문제였지만 시간초과를 잘 풀어나와야하는 문제다.
단순히 조합을 사용해서 문제를 풀면 당연히 .. 터진다 ..
그래서 생각한건, i를 기준으로 그 뒤에 값들을 비교할 때
nums[j]가 nums[i]보다 값이 크면 1, nums[k]가 nums[i]보다 값이 작으면 결과에 추가를 해줬다.여기서 j, k는 j 하나로만 구현할 수 있다 !
import sys
N = int(input())
nums = list(map(int, input().split()))
result = 0
for i in range(N):
able = 0
for j in range(i+1, N):
if nums[i] < nums[j]:
able += 1
elif nums[i] > nums[j]:
result += able
print(result)
