퇴근 시간의 minute이 출근 시간의 minute보다 크거나 같은 경우와 아닌 경우로 나누었다.시간은 시간끼리, 분은 분끼리 계산을 해주고, 분으로 나타내주면 된다.total = 0for i in range(5): start, end = sys.stdin.rea
더한 값을 리턴해주면 된다
힙을 이용해야 한다.데이터 사이즈가 정렬을 하게 되면 시간초과가 난다.그렇기 때문에 최대 heap으로 구현 후, 다시 루프를 돌면서 빼내가며 최대 금액을 출력해줘야 한다.
단순한 수학 문제이다단계 별로 행의 개수가 2 -> 3 -> 5 -> 9 -> 17 -> 33....이런식의 늘어나는 규칙이 있다.점의 개수는 행의 개수의 제곱이다.
문제에서 하라는대로 하면 문제없이 된다.조심해야 할 점은, 암호화한 메시지 맨 마지막 XX가 나오는 경우를 생각해서 if, elif 말고 if if로 처리해야 한다.이거때문에 3시간을 날렸다...mes = sys.stdin.readline().rstrip()key =
각 회의실 이름에 맞게 defaultdict(list)로 해주었다.list로 한 이유는 회의실 예약 시간 여러개를 넣기 위함.그 후, 각 key 별로 list를 오름차순으로 정렬 후, 전체 dic을 key를 기준으로 정렬해주었다.전체 딕셔너리를 순회하면서 09~18시
풀이 방법 풀이 코드
입력 받은 점수를 기준으로 최대 힙을 구현해준다.하나씩 빼면 그게 heap안의 최대 값인데, 바로 다음 최대값과 같은지 비교한다.같다면 등수는 같게 고정시키고, 다르다면 다른 등수를 부여한다.등수 부여 로직은 변수를 두 개 이용하였다.equal_rank와 i를 이용했는
N대의 컴퓨터 최고 성능 = 10^5 10^9 = 10^14이다.완전탐색으로 한다면 무조건 시간초과그렇다면 이분 탐색을 이용하면 된다.원래는 힙을 이용해서 풀었는데, 힙에 요소를 삽이하면 재정렬 시간이 O(log₂n) 이다.원소의 개수는 최대 N개여서 O(Nlog
보자마자 bfs 혹은 dfs가 떠올라야 한다.쉬운 문제이지만, 이 문제에서 시간을 지체했던 이유가 바꿔야 하는 색깔과 현재 색깔이 같은 경우 예외처리를 하지 않아서 시간초과가 떴다.무슨 말이냐면, 현재 입력 받은 좌표의 색깔이 빨간색이고, 주변 같은 색깔로 이어져있는