알고리즘 풀이/백준(Boj)
-
백준(BOJ) 16922번 로마 숫자 만들기알고리즘 풀이/백준(Boj) 2019. 12. 9. 02:27
문제 : https://www.acmicpc.net/problem/16922 16922번: 로마 숫자 만들기 2, 6, 10, 11, 15, 20, 51, 55, 60, 100을 만들 수 있다. www.acmicpc.net 풀이 : 재귀적으로 구현해 주었는데 현재 위치를 고르고 다음 위치를 가는 경우와 현재 위치를 고르고 또 현재 위치에 남아있는 경우 현재 위치를 고르지 않고 다음 위치를 가는 경우 이렇게 3가지로 분류해 주었다. 코드 ( C++ )
-
백준(BOJ) 16917번 양념 반 후라이드 반알고리즘 풀이/백준(Boj) 2019. 12. 8. 02:44
문제 : https://www.acmicpc.net/problem/16917 16917번: 양념 반 후라이드 반 현진 치킨에서 판매하는 치킨은 양념 치킨, 후라이드 치킨, 반반 치킨으로 총 세 종류이다. 반반 치킨은 절반은 양념 치킨, 절반은 후라이드 치킨으로 이루어져있다. 양념 치킨 한 마리의 가격은 A원, 후라이드 치킨 한 마리의 가격은 B원, 반반 치킨 한 마리의 가격은 C원이다. 상도는 오늘 파티를 위해 양념 치킨 최소 X마리, 후라이드 치킨 최소 Y마리를 구매하려고 한다. 반반 치킨을 두 마리 구입해 양념 치킨 하나와 후라이드 치킨 하나를 만드는 방법도 가 www.acmicpc.net 풀이 : C 같은 경우는 0.5씩 빠지므로 아예 2*C를 하나에 경우의 수로 보자 2*C를 i번 샀다면 A번은 ..
-
백준(BOJ) 16988번 Baaaaaaaaaduk2 (Easy)알고리즘 풀이/백준(Boj) 2019. 12. 2. 01:21
문제 : https://www.acmicpc.net/problem/16988 16988번: Baaaaaaaaaduk2 (Easy) 서기 2116년, 인간은 더 이상 AI의 상대가 되지 못하게 되었다. 근력, 순발력, 창의력, 사고력, 문제해결능력, 심지어 인간미조차 AI가 인간을 앞선다. AI가 온 지구를 관리하며 이미 인류는 지구의 주인 자리에서 쫓겨난지 오래이다. 그나마 다행인 것은 AI가 인간을 적대적으로 대하지 않고, 도리어 AI가 쌓아올린 눈부신 기술의 발전으로 모든 사람이 무제한적인 재화를 사용할 수 있게 되어 한 세기 전의 사람들이 바라던 돈 많은 백수와 같은 삶을 누릴 www.acmicpc.net 풀이 : 우선 좌표값이 0인 좌표들만 v 배열에 넣는다. 그 후 2개씩 뽑아서 각각의 경우를 ..
-
백준(BOJ) 16935번 배열 돌리기 3알고리즘 풀이/백준(Boj) 2019. 12. 1. 02:45
문제 : https://www.acmicpc.net/problem/16935 16935번: 배열 돌리기 3 크기가 N×M인 배열이 있을 때, 배열에 연산을 R번 적용하려고 한다. 연산은 총 6가지가 있다. 1번 연산은 배열을 상하 반전시키는 연산이다. 1 6 2 9 8 4 → 4 2 9 3 1 8 7 2 6 9 8 2 → 9 2 3 6 1 5 1 8 3 4 2 9 → 7 4 6 2 3 1 7 4 6 2 3 1 → 1 8 3 4 2 9 9 2 3 6 1 5 → 7 2 6 9 8 2 4 2 9 3 1 8 → 1 6 2 9 8 4 2번 연 www.acmicpc.net 풀이 : 각각의 조건을 맞춰 1~6까지 여분의 배열 temp를 생성해 변형시켜주자. 3,4번째 에서는 가로와 세로가 달라지기 때문에 swap()..
-
백준(BOJ) 16987번 계란으로 계란치기알고리즘 풀이/백준(Boj) 2019. 11. 30. 02:14
문제 : https://www.acmicpc.net/problem/16987 16987번: 계란으로 계란치기 원래 프로그래머의 기본 소양은 팔굽혀펴기를 단 한 개도 할 수 없는 것이라고 하지만 인범이는 3대 500을 넘기는 몇 안되는 프로그래머 중 한 명이다. 인범이는 BOJ에서 틀린 제출을 할 때마다 턱걸이를 5회 하는 기적의 운동 루틴을 통해 뇌와 근육을 동시에 단련한다. 근육을 단련할 때 식단이 정말로 중요하다는 것을 아는 인범이는 탄수화물이 많은 밥이나 빵 따위의 아침 식사를 대신해 단백질이 많은 계란찜을 해먹는다. 계란찜을 먹기 위해서는 계란을 깨야 하 www.acmicpc.net 풀이 : 제일 왼쪽 기준 계란을 시작으로 n-1개의 계란들 중 한 계란을 골라서 깨주어야 한다. 깰수있는 계란들 중..
-
백준(BOJ) 16939번 2x2x2 큐브알고리즘 풀이/백준(Boj) 2019. 11. 30. 01:56
문제 : https://www.acmicpc.net/problem/16939 16939번: 2×2×2 큐브 첫째 줄에 2×2×2 루빅스 큐브 각 면의 각 칸 색상이 주어진다. 색상은 1부터 6까지의 자연수로 나타내며, 각 자연수는 총 4번 등장한다. i번째 수가 의미하는 칸은 아래와 같다. www.acmicpc.net 풀이 : 큐브가 돌아갈 수 있는 방향 12가지를 모두 시도해주자. 돌리는 경우의 수 6가지에 앞뒤로 2가지씩 있으니 총 12가지이다. copy 된 배열에 한 번씩 각각의 경우를 시도해준다. 이때 반대방향에 경우는 원래방향을 3번 한 것과 똑같으므로 3번 불러오는 것으로 구현해준다. 모든 시도를 끝내도 답을 찾지 못했다면 0을 출력한다. 코드 ( C++ )
-
백준(BOJ) 16235번 나무 재테크알고리즘 풀이/백준(Boj) 2019. 11. 26. 20:11
문제 : https://www.acmicpc.net/problem/16235 16235번: 나무 재테크 부동산 투자로 억대의 돈을 번 상도는 최근 N×N 크기의 땅을 구매했다. 상도는 손쉬운 땅 관리를 위해 땅을 1×1 크기의 칸으로 나누어 놓았다. 각각의 칸은 (r, c)로 나타내며, r은 가장 위에서부터 떨어진 칸의 개수, c는 가장 왼쪽으로부터 떨어진 칸의 개수이다. r과 c는 1부터 시작한다. 상도는 전자통신공학과 출신답게 땅의 양분을 조사하는 로봇 S2D2를 만들었다. S2D2는 1×1 크기의 칸에 들어있는 양분을 조사해 상도에게 전송하고, 모든 www.acmicpc.net 풀이 : 문제를 정확히 이해하고 나와있는 대로만 구현해주면 되는 문제였다. 코드 ( C++ )
-
백준(BOJ) 16985번 - Maaaaaaaaaze알고리즘 풀이/백준(Boj) 2019. 11. 25. 01:51
문제 : https://www.acmicpc.net/problem/16985 16985번: Maaaaaaaaaze 첫째 줄부터 25줄에 걸쳐 판이 주어진다. 각 판은 5줄에 걸쳐 주어지며 각 줄에는 5개의 숫자가 빈칸을 사이에 두고 주어진다. 0은 참가자가 들어갈 수 없는 칸, 1은 참가자가 들어갈 수 있는 칸을 의미한다. www.acmicpc.net 풀이 : 크기가 y =5 x = 5 z = 1인 블럭이 5개 있다. 이 블럭들의 순서는 next_permutation 함수를 통해서 01234 부터 ~ 43210 까지의 순서들로 각각 처리해주어야 한다. ( 5! 으로 120가지 경우의 수 ) 순서가 정해진 블럭은 5x5x5 정육면체이다. 이 정육면체는 블럭5개가 합쳐있는 것이고 각각의 블럭은 회전해야 한다..