Skip to content

[mingxoxo] programmers_더맵게_Python - #23

Open
mingxoxo wants to merge 1 commit into
sejongbinary:mainfrom
mingxoxo:2025-01-w4-1
Open

[mingxoxo] programmers_더맵게_Python#23
mingxoxo wants to merge 1 commit into
sejongbinary:mainfrom
mingxoxo:2025-01-w4-1

Conversation

@mingxoxo

Copy link
Copy Markdown
Member

🔗 문제 링크

https://school.programmers.co.kr/learn/courses/30/lessons/42626

  • 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 섞어야 하는 최소 횟수를 return
    • K 이상으로 만들기 위해 스코빌 지수가 가장 낮은 두 개의 음식을 아래 식으로 변경
    • 섞은 음식의 스코빌 지수 = 가장 맵지 않은 음식의 스코빌 지수 + (두 번째로 맵지 않은 음식의 스코빌 지수 * 2)

💡 풀이 아이디어

heapq 모듈을 사용하여 최소 힙을 사용하였습니다. heapq의 기본 동작은 value 값을 기준으로 최소 힙으로 배열합니다.

scoville 리스트를 heapify 함수를 통해 최소 힙으로 재배열 한 후, 리스트에 음식이 2개 이상 있을 경우 모든 음식의 스코빌 지수가 K 이상이 될 때까지 만들어 추가해줍니다.

만약 남은 음식이 K 미만의 스코빌 지수를 가질 경우 -1을 반환합니다.
사실 남은 음식이 K 미만일 경우 scoville 리스트의 개수가 1개인 경우만 있어 len을 사용해도 되었을 것 같은데, 리스트 원소를 직접 접근해서 사용해주었습니다.

📝 새로 학습한 내용

📚 참고 자료

@mingxoxo mingxoxo added 🪄Programmers 프로그래머스 문제 풀이 🫧Python 풀이 언어 (Python) labels Jan 25, 2025
@mingxoxo mingxoxo self-assigned this Jan 25, 2025

@just-stopyoon just-stopyoon left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

히히 저랑 풀이가 똑같네요!!
C언어로 풀 때는 연결리스트로 heap을 일일히 구현해줬어야 했는데,, 파이썬은 넘나 편한 것,,,
heapq에서 필요한 것들만 import해 오는 게 효율성(?) 측면에서 더 좋은 것 같습니다 !!

수고하셨어요 'ㅅ'

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🪄Programmers 프로그래머스 문제 풀이 🫧Python 풀이 언어 (Python)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants