알고리즘 풀이
-
백준(BOJ) 1194번 달이 차오른다, 가자.알고리즘 풀이/백준(Boj) 2020. 3. 12. 00:58
문제 : https://www.acmicpc.net/problem/1194 1194번: 달이 차오른다, 가자. 첫째 줄에 미로의 세로 크기 N과 가로 크기 M이 주어진다. (1 ≤ N, M ≤ 50) 둘째 줄부터 N개의 줄에 미로의 모양이 주어진다. 같은 타입의 열쇠가 여러 개 있을 수 있고, 문도 마찬가지이다. 그리고, 영식이가 열쇠를 숨겨놓는 다면 문에 대응하는 열쇠가 없을 수도 있다. 0은 한 개, 1은 적어도 한 개 있다. 그리고, 열쇠는 여러 번 사용할 수 있다. www.acmicpc.net 풀이 : BFS문제이고 비트 마스킹으로 푼다면 쉽게 풀 수 있는 문제였습니다. 1
-
백준(BOJ) 2002번 추월알고리즘 풀이/백준(Boj) 2020. 3. 9. 17:00
문제 : https://www.acmicpc.net/problem/2002 2002번: 추월 문제 대한민국을 비롯한 대부분의 나라에서는 터널 내에서의 차선 변경을 법률로 금하고 있다. 조금만 관찰력이 있는 학생이라면 터널 내부에서는 차선이 파선이 아닌 실선으로 되어 있다는 것을 알고 있을 것이다. 이는 차선을 변경할 수 없음을 말하는 것이고, 따라서 터널 내부에서의 추월은 불가능하다. 소문난 명콤비 경찰 대근이와 영식이가 추월하는 차량을 잡기 위해 한 터널에 투입되었다. 대근이는 터널의 입구에, 영식이는 터널의 출구에 각각 잠복하고, 대근이는 차 www.acmicpc.net 풀이 : 해쉬 맵을 통해 각 차량이 들어온 번호와 순서를 적어두자 이제 나온 번호를 보면서 해당 차량에..
-
백준(BOJ) 1175번 배달알고리즘 풀이/백준(Boj) 2020. 3. 8. 04:16
문제 : https://www.acmicpc.net/problem/1175 1175번: 배달 어제 선물을 모두 포장한 민식이는 이제 선물을 배달하려고 한다. 민식이가 선물을 배달할 곳은 이 문제를 읽는 사람들이 앉아 있는 교실이다. 교실은 직사각형모양이고, 모두 같은 크기의 정사각형 블록으로 나누어져 있다. 입력으로 교실의 지도가 주어진다. 각각의 정사각형 블록은 다음과 같이 4가지 종류가 있다. S : 지금 민식이가 있는 곳이다. 이곳이 민식이가 배달을 시작하는 곳이다. C : 민식이가 반드시 선물을 배달해야 하는 곳이다. 이러한 블록은 정확하 www.acmicpc.net 풀이 : BFS를 통해 최소 거리를 구해주었는데 이때 d는 4차원으로 잡았다. 그 이유는 4가지 방향 배열에 의해서 각각의 경우가 ..
-
백준( BOJ ) 16236번 아기 상어알고리즘 풀이/백준(Boj) 2020. 2. 24. 16:22
문제 : https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크 www.acmicpc.net 풀이 : 9의 위치에서 BFS를 통해 갈 수 있는 위치를 파악하고 v 배열에 담은 후에 v 배열은 d, y, x 순이므로 ..
-
백준 BOJ(1062) 가르침알고리즘 풀이/백준(Boj) 2020. 2. 22. 18:18
문제 : https://www.acmicpc.net/problem/1062 1062번: 가르침 첫째 줄에 단어의 개수 N과 K가 주어진다. N은 50보다 작거나 같은 자연수이고, K는 26보다 작거나 같은 자연수 또는 0이다. 둘째 줄부터 N개의 줄에 남극 언어의 단어가 주어진다. 단어는 영어 소문자로만 이루어져 있고, 길이가 8보다 크거나 같고, 15보다 작거나 같다. 모든 단어는 중복되지 않는다. www.acmicpc.net 풀이 : anta와 tica는 무조건 들어가야 하므로 최소 k가 5개는 필요하다 5개가 되지 않는다면 0을 리턴하자 5개가 넘는다면 a n t i c는 true 처리를 해주고 나머지 21개의 알파벳 중 k-5개를 고른다. k-5개를 골랐다면 check만을 통해 단어를 만들 수 있..
-
백준(BOJ) 17406번 배열 돌리기 4알고리즘 풀이/백준(Boj) 2020. 2. 22. 17:06
문제 : https://www.acmicpc.net/problem/17406 17406번: 배열 돌리기 4 크기가 N×M 크기인 배열 A가 있을때, 배열 A의 값은 각 행에 있는 모든 수의 합 중 최솟값을 의미한다. 배열 A가 아래와 같은 경우 1행의 합은 6, 2행의 합은 4, 3행의 합은 15이다. 따라서, 배열 A의 값은 4이다. 1 2 3 2 1 1 4 5 6 배열은 회전 연산을 수행할 수 있다. 회전 연산은 세 정수 (r, c, s)로 이루어져 있고, 가장 왼쪽 윗 칸이 (r-s, c-s), 가장 오른쪽 아랫 칸이 (r+s, c+s)인 정사각형을 시계 www.acmicpc.net 풀이 : 순서는 임의로 정해도 된다. 는 글을 놓쳐서 몇 번 실패하였던 문제이다. order는 0,1,2,3 .. k..
-
백준(BOJ) 17281번 ⚾알고리즘 풀이/백준(Boj) 2020. 2. 20. 02:29
문제 : https://www.acmicpc.net/problem/17281 17281번: ⚾ ⚾는 9명으로 이루어진 두 팀이 공격과 수비를 번갈아 하는 게임이다. 하나의 이닝은 공격과 수비로 이루어져 있고, 총 N이닝동안 게임을 진행해야 한다. 한 이닝에 3아웃이 발생하면 이닝이 종료되고, 두 팀이 공격과 수비를 서로 바꾼다. 두 팀은 경기가 시작하기 전까지 타순(타자가 타석에 서는 순서)을 정해야 하고, 경기 중에는 타순을 변경할 수 없다. 9번 타자까지 공을 쳤는데 3아웃이 발생하지 않은 상태면 이닝은 끝나지 않고, 1번 타자가 다시 타석에 www.acmicpc.net 풀이 : 첫 주자인 0번은 무조건 4번째에 들어가기 때문에 1~8까지 next_permutation을 통해 순서를 돌려주고 solv..
-
백준(BOJ) 17837번 새로운 게임2 ( JAVA )알고리즘 풀이/백준(Boj) java 2020. 2. 12. 02:28
설명: https://100100e.tistory.com/275?category=804940 백준(BOJ) 17837번 새로운 게임 2 문제 : https://www.acmicpc.net/problem/17837 17837번: 새로운 게임 2 재현이는 주변을 살펴보던 중 체스판과 말을 이용해서 새로운 게임을 만들기로 했다. 새로운 게임은 크기가 N×N인 체스판에서 진행되.. 100100e.tistory.com 코드 ( JAVA )