https://www.hackerrank.com/challenges/climbing-the-leaderboard/problem?isFullScreen=true
Climbing the Leaderboard | HackerRank
Help Alice track her progress toward the top of the leaderboard!
www.hackerrank.com
나의 코드
#!/bin/python3
import math
import os
import random
import re
import sys
from collections import deque
def climbingLeaderboard(ranked, player):
answer = []
ranked = sorted(set(ranked), reverse=True)
l = len(ranked)
for score in player:
while l > 0 and score >= ranked[l-1]:
l -= 1
answer.append(l + 1)
return answer
if __name__ == '__main__':
fptr = open(os.environ['OUTPUT_PATH'], 'w')
ranked_count = int(input().strip())
ranked = list(map(int, input().rstrip().split()))
player_count = int(input().strip())
player = list(map(int, input().rstrip().split()))
result = climbingLeaderboard(ranked, player)
fptr.write('\n'.join(map(str, result)))
fptr.write('\n')
fptr.close()
시간 복잡도
sorted(set(ranked), resverse=True) : 파이썬 정렬 알고리즘 ( 선형 로그 시간 복잡도 )
for score in player : 순위 계산 ( 선형 시간 복잡도 )
해당 알고리즘 시간복잡도는 선형 로그 시간 복잡도 ( O(n log n) )'코딩테스트 파이썬 > hackerrank' 카테고리의 다른 글
| Sherlock and Squares (0) | 2024.09.23 |
|---|---|
| Append and Delete (0) | 2024.09.23 |
| Picking Numbers (0) | 2024.09.09 |
| Breaking the Records (2) | 2024.09.01 |
| Number Line Jumps (0) | 2024.09.01 |