https://www.acmicpc.net/problem/1052 1052번: 물병 지민이는 N개의 물병을 가지고 있다. 각 물병에는 물을 무한대로 부을 수 있다. 처음에 모든 물병에는 물이 1리터씩 들어있다. 지민이는 이 물병을 또 다른 장소로 옮기려고 한다. 지민이는 한 번 www.acmicpc.net 해설 : N개의 물병과 K라는 수가 주어진다. N개의 물병에는 모두 물이 1리터씩 들어있고 같은 양이 들어있는 물병 두 개를 합쳐서 하나의 물병에다 옮길 수 있다. 물병의 개수를 K개로 줄이려고 할 때, 불가능한 경우가 생기지 않게 상점에서 적절하게 물병을 사려고 한다. 이 때, 물병을 사는 최소 개수를 찾는 문제이다. 상점에서 사는 물병엔 물이 1리터씩 들어있다. 풀이 : 한 번 연산할 때 물병의 개..
https://www.acmicpc.net/problem/1049 1049번: 기타줄 첫째 줄에 N과 M이 주어진다. N은 100보다 작거나 같은 자연수이고, M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 M개의 줄에는 각 브랜드의 패키지 가격과 낱개의 가격이 공백으로 구분하여 주 www.acmicpc.net 해설 : 기타리스트 강토가 기타줄을 갈려고 한다. 갈아야 할 기타줄의 수 N과 가격을 찾아본 브랜드 M이 주어지고, 브랜드 별 패키지(기타줄 6개 묶음) 의 가격과 낱개의 가격이 주어진다. 이 때, 기타줄을 가는데 드는 최소 비용을 찾는 문제이다. 풀이 : 그리디 알고리즘을 사용하는 쉬운 문제이다. 낱개의 가격이 가장 싼 브랜드와, 묶음의 가격이 가장 싼 브랜드를 찾고 낱개 * (사야하는 기타..
https://programmers.co.kr/learn/courses/30/lessons/42862 코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 해설 : 총 인원, 체육복을 잃어버린 사람, 여분 체육복이 있는 사람의 배열이 주어질 때, 여분 체육복이 있는 사람은 양 옆의 사람에게 체육복을 빌려줄 수 있다. 이 때 최대한 많은 사람이 체육복을 사용하는 경우를 찾는 문제이다. 풀이 : 그리디 알고리즘을 사용하여 해결하는 문제이다. 체육복을 빌려줄 때, 왼쪽에 있는 사람부터 빌려줘야 가장 많이 빌려줄 수 있는 ..