[9일차] [코딩테스트] [Python]

🎀 본 게시물은 Softeer 연습문제 풀이 게시물입니다. 🎀



https://softeer.ai/practice/info.do?idx=1&eid=626

정답영상

https://softeer.ai/community/view.do?idx=681&cd=edu&pageNo=1

어렵다.

이전에도 회의실 문제 풀었던거 같은데

이번에는 굉장히 어려웠다.

결국 답을 보고 말았다.

처음 입력을 받고 딕셔너리로 푸는거 까지는 맞았는데 마무리를 못했다.


🚀 정답 ⭕


import sys 
# sys.stdin=open('input.txt','r')

# 3단계로 풀자 

if __name__=="__main__":
    N,M=map(int, input().split())   # N: 회의실 수, M: 예약된 회의 수
    rooms=dict()
    for _ in range(N):
        rooms[str(input())]=[0]*18   # 18시까지
# ---------------------1단계-----------------------------
    for _ in range(M):
        name,start,end=map(str,input().split())
        start=int(start)
        end=int(end)
        for i in range(start, end):
            rooms[name][i]=1
    
    # 회의실 이름 a부터 정렬
    rooms = sorted(rooms.items())
    # print(rooms)    
# ---------------------2단계-----------------------------
    for i in range(N):
        current=1
        tmp=[]
        for j in range(9,18):
            if current==1 and rooms[i][1][j]==0:
                sTime=j
                current=0
            elif current==0 and rooms[i][1][j]==1:
                fTime=j
                current=1
                tmp.append([sTime,fTime])

        if current==0:
            tmp.append([sTime,18])  # 18은 fTime

        # print(tmp)
# ---------------------3단계-----------------------------
        print(f'Room {rooms[i][0]}:')
        if len(tmp)==0:
            print('Not available')
        else:
            print(len(tmp), 'available:')
            for x,y in tmp:
                print(f'{x:02d}-{y}')
        
        if i != N-1:
            print('-----')

🌜 개인 공부 기록용 블로그입니다. 오류나 틀린 부분이 있을 경우 
언제든지 댓글 혹은 메일로 지적해주시면 감사하겠습니다! 😄

맨 위로 이동하기


© 2020. All rights reserved.

따라쟁이