티스토리 뷰

728x90
반응형

오늘도 +1 -1 유형에서 틀렸다.

이 유형에서 틀린 것은 이번이 두번째인데, 조건이 조금 복잡하게 들어가면 이렇게 헤매는 것 같다.

같은 유형을 다양한 형태로 만나는 것도 필요한 과정이란 생각이 든다.

 

오늘 고른 문제는 코드트리의 학습하기 과정에서 알고리즘 기본에서 고른 문제이다.

유사 문제 풀이

https://www.codetree.ai/missions/8/problems/computer-hours?&utm_source=clipboard&utm_medium=text

문제

n명의 사람들의 컴퓨터 사용 시작시간과 종료시간이 주어진다.선착순으로 맨 앞 번호부터 채워 앉는다고 했을 때, (자리가 나면 또 맨 앞부터 다시 채움)n명의 사람들이 차지했던 컴퓨터 번호를 출력하는 문제이다.

코드

import heapq
n = int(input())
q = []
for i in range(n):
    s,e = map(int,input().split())
    q.append((s,1,i))
    q.append((e,-1,i))

q.sort()
computers = list(range(1,n+1))
heapq.heapify(computers)
ans = [0]*n
for x,o,i in q:
    if o == 1:
        ans[i] = heapq.heappop(computers)
    else:
        heapq.heappush(computers,ans[i])

print(*ans)

 

 


#코드트리 #코딩테스트 #코딩테스트실력진단

728x90
반응형
댓글