🐥 Records/Daily | Today I Leared

[TIL] 99클럽 코테 스터디 10일차 TIL + 그리디

이오🐥 2025. 4. 14. 02:02

🌼 오늘의 문제 -  백준 1783. 병든 나이트

처음에 조건 하나를 잘못 걸어서 처참하게 5번이나 틀린 문제.. 조건을 잘 보자 ^^ 아이디어만 잘 얻어냈다면, 그리 어렵지 않은 문제였는데!! 흐흐 속상하지만, 꼼꼼히 보자는 마음을 잊지 말아야지..

 

[Algorithm] 백준 1783 병든 나이트 | 그리디, 구현 (파이썬)

아이디어는 제대로 잡고 시작해서 엄청 금방 풀 거라고 생각했는데, 조건 하나를 잘못 생각하고 풀이하는 바람에 5번이나 틀리고 GPT에게 물어보고 나서야 해결했다는 사실...   📝 백준 1783 병

mohagunolziii.tistory.com

 

 

🌟 백준 10814. 나이순 정렬

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

(나이, 이름) 으로 입력된 사람들 중에서 나이순 / 입력순(나이가 같다면)으로 출력하는 문제. 처음에는 우선순위큐를 활용해서 두 가지 우선순위로 풀었는데, 다른 사람들 풀이에 정렬로 푼 풀이들이 있어서 활용해 봤다. 궁극적으로 시간 복잡도는 O(nlogn)으로 동일하기 때문에 큰 차이는 없다고 하지만, 개인적으로는 우선순위가 명확하게 읽히는 우선순위큐 활용 방식이 마음에 드는 것 같다!

import heapq


""" 첫 번째 풀이 - 우선순위큐 """
def solution1():
    n = int(input())
    queue = []

    for i in range(n):
        age, name = input().split()
        age = int(age)
        heapq.heappush(queue, (age, i, name))

    for _ in range(n):
        result = heapq.heappop(queue)
        print(result[0], result[2])


""" 두 번째 풀이 - 정렬 """
def solution2():
    n = int(input())
    members = [input().split() for _ in range(n)]
    members.sort(key=lambda x: int(x[0]))
    for age, name in members:
        print(age, name)