[SWEA][Python]#4408. 자기 방으로 돌아가기

MEIN_FIGUR·2021년 8월 15일
0

SWEA_문제풀이

목록 보기
15/21

📌풀이


내가 쓴 풀이(성공)

T = int(input())
for tc in range(1, T+1):
    n = int(input())
    #복도를 위한 리스트 rooms
    rooms = [0 for _ in range(200)]
    for _ in range(n):
        now, dest = map(int, input().split())
        #인덱스 값을 맞추기 위해 1을 빼줌
        # 나중에 2로 나눴을 때 같은 라인의 방들은 같은 복도 값이 나오게 하기 위함
        now -= 1
        dest -= 1
        # now가 dest보다 뒤에 있는 경우, 위치를 바꿔줌
        if now > dest :
            now, dest = dest, now
            
        for r in range(now//2, dest//2+1):
            rooms[r] += 1
            
    print(f'#{tc} {max(rooms)}')
  • 두 개의 방이 같은 복도를 쓴다는 점을 활용하여 연산
  • 해당 복도를 지날 때, 값을 1씩 더해주고, 최대값을 출력



📌후기


사소한 설정들 때문에 시간이 조금 잡아먹혔었던 문제였다ㅠ 앞에서 뒤로 가는 방향만 처음에 생각해서 문제를 틀렸었고, 복도에 값을 더해주는 과정에서 for문을 잘못 활용하여 오류가 발생했었다..! 사소한 점들을 놓치지 않기 위해 노력해야겠다!

profile
Growing Developer

0개의 댓글