알고리즘 공부/백준

(Python)백준 코딩테스트 연습 - 약속(1183)

HRuler 2023. 1. 31. 14:29

1. 문제

https://www.acmicpc.net/problem/1183

 

1183번: 약속

마법사 N명이 머글 문화를 이해하기 위해 머글과 약속을 잡았다. 각 마법사는 한 명의 머글을 만날 예정이다. 하지만, 마법사는 약속 시간보다 빨리 또는 늦게 도착할 수 있기 때문에 고민에 빠

www.acmicpc.net

2. 풀이

import sys
input = sys.stdin.readline

# n : 케이스 수
n = int(input())

# t_l : 도착 시간 차이 리스트
t_l = []
# m_l = []
for i in range(n):
    a, b = map(int, input().split())
    t_t = a - b
    t_l.append(t_t)

t_l.sort()

if len(t_l) % 2 == 0:
    print(t_l[len(t_l) // 2] - t_l[len(t_l) // 2 - 1] + 1)
else:
    print(1)

3. 후기

 - 이 문제는 오랜만에 3일 동안 길게 고민한 문제였다.

 처음엔 문제가 잘안풀려서 다른 문제로 넘어갈까 했다.

 그치만 어려운 문제를 해결하지 않고 풀 수 있는 문제만 푼다면 알고리즘 능력의 성장을 성취할 수 없을거라는 생각으로 고민하여 해결할 수 있었다.

 위 문제는 코드로서의 어려움 보다는 문제의 주요 프로세스를 어떻게 코드로 구현할 것인지 생각하는 능력이 중요했던 것 같다.

 그래서인지 코드로 구현하여 해결되었을때 왠지 허무한 느낌도 받았다.

 이런 문제들을 직면했을때 어떻게 구현할 것이지까지 빠르게 이어질 수 있도록 더 성장해보자.