[백준] 우유축제 - 14720번
·
여러가지/알고리즘 & 자료구조
우유 축제 1 초256 MB76094512400361.115%문제영학이는 딸기우유, 초코우유, 바나나우유를 좋아한다.입맛이 매우 까다로운 영학이는 자신만의 우유를 마시는 규칙이 있다.맨 처음에는 딸기우유를 한 팩 마신다.딸기우유를 한 팩 마신 후에는 초코우유를 한 팩 마신다.초코우유를 한 팩 마신 후에는 바나나우유를 한 팩 마신다.바나나우유를 한 팩 마신 후에는 딸기우유를 한 팩 마신다. 영학이는 우유 축제가 열리고 있는 우유거리에 왔다. 우유 거리에는 우유 가게들이 일렬로 늘어서 있다.영학이는 우유 거리의 시작부터 끝까지 걸으면서 우유를 사먹고자 한다.각각의 우유 가게는 딸기, 초코, 바나나 중 한 종류의 우유만을 취급한다.각각의 우유 가게 앞에서, 영학이는 우유를 사마시거나, 사마시지 않는다.우유거리..
[백준] 한조서열정리하고옴ㅋㅋ - 14659번
·
여러가지/알고리즘 & 자료구조
한조서열정리하고옴ㅋㅋ2 초256 MB115764740383740.638%문제“반갑다. 내 이름은 반고흐#31555! 조선 최고의 활잡이지. 오늘도 난 금강산 위에서 적들을 노리고 있지. 내 앞에 있는 적들이라면 누구도 놓치지 않아! 좋아, 이제 곧 월식이 시작되는군. 월식이 시작되면 용이 적들을 집어삼킬 것이다. 잘 봐두어라! 마장동 활잡이 반고흐#31555님의 실력을-!”반고흐#31555는 자기 뒤쪽 봉우리에 덩기#3958이 있음을 전혀 모르고 있었다. 덩기#3958도 반고흐#31555와 마찬가지로 월식이 시작되면 용을 불러내어 눈앞에 있는 다른 활잡이들을 모두 처치할 생각이다. 사실, 반고흐#31555와 덩기#3958 뿐만 아니라 금강 산맥의 N개 봉우리에 있는 모든 활잡이들이 같은 생각을 가지고 있..
[백준] 거스름돈 - 5585번
·
여러가지/알고리즘 & 자료구조
거스름돈1 초128 MB45753299952555965.531%문제타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사고 카운터에서 1000엔 지폐를 한장 냈을 때, 받을 잔돈에 포함된 잔돈의 개수를 구하는 프로그램을 작성하시오.입력입력은 한줄로 이루어져있고, 타로가 지불할 돈(1 이상 1000미만의 정수) 1개가 쓰여져있다.출력제출할 출력 파일은 1행으로만 되어 있다. 잔돈에 포함된 매수를 출력하시오.예제 입력 1 복사380예제 출력 1 복사4예제 입력 2 복사1예제 출력 2 복사15코드package 거스름돈;import java.io.Bu..
[백준] A->B - 16953번
·
여러가지/알고리즘 & 자료구조
A → B2 초512 MB55712229191817439.686%문제정수 A를 B로 바꾸려고 한다. 가능한 연산은 다음과 같은 두 가지이다.2를 곱한다.1을 수의 가장 오른쪽에 추가한다. A를 B로 바꾸는데 필요한 연산의 최솟값을 구해보자.입력첫째 줄에 A, B (1 ≤ A 출력A를 B로 바꾸는데 필요한 연산의 최솟값에 1을 더한 값을 출력한다. 만들 수 없는 경우에는 -1을 출력한다.예제 입력 1 복사2 162예제 출력 1 복사52 → 4 → 8 → 81 → 162예제 입력 2 복사4 42예제 출력 2 복사-1예제 입력 3 복사100 40021예제 출력 3 복사5100 → 200 → 2001 → 4002 → 40021접근법이 문제는 정수 A를 B로 바꾸기 위해 가능한 두 가지 연산을 이용하여 최단 경로..
[백준] 동전 0 - 11047번
·
여러가지/알고리즘 & 자료구조
동전 01 초256 MB149950803616135552.637%문제준규가 가지고 있는 동전은 총 N종류이고, 각각의 동전을 매우 많이 가지고 있다.동전을 적절히 사용해서 그 가치의 합을 K로 만들려고 한다. 이때 필요한 동전 개수의 최솟값을 구하는 프로그램을 작성하시오.입력첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000)둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수)출력첫째 줄에 K원을 만드는데 필요한 동전 개수의 최솟값을 출력한다.예제 입력 1 복사10 4200151050100500100050001000050000예제 출력 1 복사6예제 입력 ..
Greedy 알고리즘
·
여러가지/알고리즘 & 자료구조
1. 그리디 알고리즘(탐욕법, Greedy Algorithm) 이란?그리디 알고리즘은 최적의 값을 구해야 하는 상황에서 사용되는 근시안적인 방법론으로, 각 단계에서 최적이라고 생각되는 것을 선택해 나가는 방식으로 진행하여 최종적인 해답에 도달하는 알고리즘입니다. 이때 항상 최적의 값을 보장하는 것이 아니라 최적의 값의 근사한 값을 목표로 합니다. 주로 문제를 분할 가능한 문제들로 분할한 뒤, 각 문제들에 대한 최적해를 구한 뒤 이를 결합하여 전체 문제의 최적해를 구하는 경우에 사용됩니다.예시 문제노드에서 가장 합이 높은 방법을 선택하는 방법을 생각해봅니다. 이 경우, 그리디 알고리즘은 기준 없이 선택하는 대신, 상황에서 가장 높은 수를 선택하는 방식으로 노드를 선택합니다.2. 그리디 알고리즘 주요 속성그..
[백준] 별자리가될수있다면 - 30821번
·
여러가지/알고리즘 & 자료구조
별자리가 될 수 있다면1 초1024 MB65950546078.098%문제곧 시계는 6시, 벌써 첫 번째 별이 보인다. 정N각형 모양의 하늘에는 몇 개의 별이 뜰 수 있을까? 정N각형의 꼭짓점의 개수 N이 주어졌을 때, 정N각형의 꼭짓점을 이어 만들 수 있는 서로 다른 별의 개수를 출력하여라. 별은 정N각형의 다섯 꼭짓점에 시계 방향으로 번호를 붙였을 때, 그 꼭짓점들을 1-3-5-2-4-1 순으로 연결한 것을 의미한다. 뒤집거나 돌려서 같은 모양이 나오는 별도 정N각형의 다른 꼭짓점을 이어 만든 별이라면 서로 다른 별이다.입력정수 N이 주어지며, 이는 정 N각형의 꼭짓점의 개수를 나타냅니다. N의 범위는 5 이상 100 이하입니다.출력정𝑁각형의 꼭짓점을 이어 만들 수 있는 별의 개수를 출력한다.예제..
[백준] 청정순열 - 25176
·
여러가지/알고리즘 & 자료구조
청정수열 (Easy)1 초1024 MB98981376085.586%문제청정수열은 길이가 2𝑁이고 1부터 𝑁까지의 정수들이 정확히 두 번씩 등장하는 수열이다.청정수열의 점수는 1이상 𝑁이하인 모든 정수 𝑖에 대해 다음 값의 합이다.(두 개의 𝑖 사이에 있는 수의 합) × 𝑖이때, "사이"는 양 끝의 𝑖를 포함한다.길이가 2𝑁이면서 점수가 최소인 청정수열의 개수를 구해보자.입력첫째 줄에 정수 𝑁이 주어진다. (1≤𝑁≤10)출력첫째 줄에 길이가 2𝑁이면서 점수가 최소인 청정수열의 개수를 출력하라.예제 입력 1 복사4예제 출력 1 복사24힌트 예시로 [3, 1, 2, 1, 3, 2]는 N이 3인 청정수열이고 이 청정수열의 점수는 다음과 같이 계산되어 50점이 된다. 1과 1의 사이의 수들은 ..