<청춘> 격정적으로 사는 것

밤을 새고 공부한 다음 날 새벽에 느꼈던 생생한 환희와 야생적인 즐거움을 잊을 수 없다

그리디 알고리즘 2

[그리디 Greedy] 05. 볼링공 고르기 / 파이썬

그리디 (Greedy) 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 볼링공 고르기 난이도 ★☆☆ 풀이시간 30분 시간제한 1초 A, B 두 사람이 볼링을 치고 있습니다. 두 사람은 서로 무게가 다른 볼링공을 고르려고 합니다. 볼링공은 총 N개가 있으며 각 볼링공마다 무게가 적혀 있고, 공의 번호는 1번부터 순서대로 부여됩니다. 또한 같은 무게의 공이 여러 개 있을 수 있지만, 서로 다른 공으로 간주합니다. 볼링공의 무게는 1부터 M까지의 자연수 형태로 존재합니다. 예를 들어 N이 5이고, M이 3이며 각각의 무게가 차례대로 1, 3, 2, 3, 2일 때 각 공의 번호가 차례대로 1번부터 5번까지 부여됩니다. 이대 두 사람이 고를 수 있는 볼링공 번호의 조합을 구하면 다음과 같습니다. (1번,..

코딩테스트 2021.08.12

[그리디 Greedy] 04. 만들 수 없는 금액 / 파이썬

그리디 (Greedy) 현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘 만들 수 없는 금액 난이도 ★☆☆ 풀이시간 30분 시간제한 1초 동네 편의점의 주인인 동빈이는 N개의 동전을 가지고 있습니다. 이때 N개의 동전을 이용하여 만들 수 없는 양의 정수 금액 중 최솟값을 구하는 프로그램을 작성하세요. 예를 들어, N = 5이고, 각 동전이 각각 3원, 2원, 1원, 1원, 9원짜리 (화폐단위) 동전이라고 가정합시다. 이때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 8원입니다. 또 다른 예시로, N = 3이고, 각 동전이 각각 3원, 5원, 7원짜리 (화폐단위) 동전이라고 가정합시다. 이때 동빈이가 만들 수 없는 양의 정수 금액 중 최솟값은 1원입니다. 입력조건 첫째 줄에는 동전의 개수를 ..

코딩테스트 2021.08.10