알고리즘/programmers

[Programmers 코딩테스트 고득점 Kit] 더 맵게

꾸준함. 2021. 9. 22. 17:09

문제 링크입니다: https://programmers.co.kr/learn/courses/30/lessons/42626

 

코딩테스트 연습 - 더 맵게

매운 것을 좋아하는 Leo는 모든 음식의 스코빌 지수를 K 이상으로 만들고 싶습니다. 모든 음식의 스코빌 지수를 K 이상으로 만들기 위해 Leo는 스코빌 지수가 가장 낮은 두 개의 음식을 아래와 같

programmers.co.kr

최소 힙을 이용하여 푸는 문제였습니다.

 

알고리즘은 아래와 같습니다.

1. 최소 힙을 생성해주고 scoville 벡터에 있는 값들을 전부 넣어줍니다. 이때, scoville 벡터에 있는 값들이 모두 K 이상일 경우 조건을 충족하므로 0을 반환해줍니다.

2. 문제 조건에 따라 음식을 섞어주고 음식을 섞은 뒤 모든 음식이 K 이상인지 확인합니다.

2.1 모두 K 이상이라면 섞은 횟수를 반환해주고

2.2  하나라도 K 미만이라면 다시 2번 과정을 반복해줍니다.

3. 2번 과정을 전부 실행해서 음식이 하나 남았는데도 K 이상이 아니라면 -1을 반환해줍니다.

 

 

개발환경:Visual Studio 2017

지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

반응형