[백준] 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의 사이의 수들은 ..
[백준] 슈퍼마리오 - 2851번
·
여러가지/알고리즘 & 자료구조
슈퍼 마리오1 초128 MB2432310049871141.650%문제슈퍼 마리오 앞에 10개의 버섯이 일렬로 놓여져 있다. 이 버섯을 먹으면 점수를 받는다.슈퍼 마리오는 버섯을 처음부터 나온 순서대로 집으려고 한다. 하지만, 모든 버섯을 집을 필요는 없고 중간에 중단할 수 있다. 중간에 버섯을 먹는 것을 중단했다면, 그 이후에 나온 버섯은 모두 먹을 수 없다. 따라서 첫 버섯을 먹지 않았다면, 그 이후 버섯도 모두 먹을 수 없다.마리오는 받은 점수의 합을 최대한 100에 가깝게 만들려고 한다.버섯의 점수가 주어졌을 때, 마리오가 받는 점수를 출력하는 프로그램을 작성하시오.입력총 10개의 줄에 각각의 버섯의 점수가 주어진다. 이 값은 100보다 작거나 같은 양의 정수이다. 버섯이 나온 순서대로 점수가 주어..
[백준] 암호 만들기 - 1759번
·
여러가지/알고리즘 & 자료구조
암호 만들기2 초128 MB77884372332551644.782%문제바로 어제 최백준 조교가 방 열쇠를 주머니에 넣은 채 깜빡하고 서울로 가 버리는 황당한 상황에 직면한 조교들은, 702호에 새로운 보안 시스템을 설치하기로 하였다. 이 보안 시스템은 열쇠가 아닌 암호로 동작하게 되어 있는 시스템이다.암호는 서로 다른 L개의 알파벳 소문자들로 구성되며 최소 한 개의 모음(a, e, i, o, u)과 최소 두 개의 자음으로 구성되어 있다고 알려져 있다. 또한 정렬된 문자열을 선호하는 조교들의 성향으로 미루어 보아 암호를 이루는 알파벳이 암호에서 증가하는 순서로 배열되었을 것이라고 추측된다. 즉, abc는 가능성이 있는 암호이지만 bac는 그렇지 않다.새 보안 시스템에서 조교들이 암호로 사용했을 법한 문자의..
[백준] 단어나누기 - 1251번
·
여러가지/알고리즘 & 자료구조
단어 나누기2 초128 MB134835760496646.590%문제알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다.먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다. 각각은 적어도 길이가 1 이상인 단어여야 한다. 이제 이렇게 나눈 세 개의 작은 단어들을 앞뒤를 뒤집고, 이를 다시 원래의 순서대로 합친다.예를 들어,단어 : arrested세 단어로 나누기 : ar / rest / ed각각 뒤집기 : ra / tser / de합치기 : ratserde단어가 주어지면, 이렇게 만들 수 있는 단어 중에서 사전순으로 가장 앞서는 단어를 출력하는 프로그램을 작성하시오.입력첫째 줄에 영어 소문자로 된 단어가 주어진다. 길이는..