[Softeer] HSAT 4회 정기 코딩 인증평가 기출 | 통근버스 출발 순서 검증하기

Gaanii·2024년 10월 31일
0

Problem Solving

목록 보기
91/210
post-thumbnail

문제링크


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)


결과


정답

0개의 댓글