20010. 악덩 영주 혜유 20010번: 악덕 영주 혜유 FT온라인 게임에서 치열한 경쟁을 통해 영주가 된 혜유는 퀘스트를 받았다. 퀘스트의 내용은 자신이 관리하고 있는 마을 사이에 교역로를 건설하여 마을 간 교류를 활성화시키는 것이다. 이때, www.acmicpc.net 코드 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 알고리즘 설계 크게 두 가지를 구했다. 최소 스패닝 트리는 크루스칼 알고리즘을 이용해서, 두 마을 사이를 이..
42860. 조이스틱 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 조이스틱의 최소 움직임을 구하는 문제였다. 그리디라며... 그리디라며!!!!!!! 그리디 문제답게 단순히 순간의 최소 움직임이 최적해가 될 거라고 생각했지만...
10159. 저울 10159번: 저울 첫 줄에는 물건의 개수 N 이 주어지고, 둘째 줄에는 미리 측정된 물건 쌍의 개수 M이 주어진다. 단, 5 ≤ N ≤ 100 이고, 0 ≤ M ≤ 2,000이다. 다음 M개의 줄에 미리 측정된 비교 결과가 한 줄에 하나씩 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 사실 문제를 보고 나서도 그래프 탐색일 거라는 상상은 절대 못했지만... 예제가 너무 그래..
봄버맨 16918. 봄버맨 16918번: 봄버맨 첫째 줄에 R, C, N (1 ≤ R, C, N ≤ 200)이 주어진다. 둘째 줄부터 R개의 줄에 격자판의 초기 상태가 주어진다. 빈 칸은 '.'로, 폭탄은 'O'로 주어진다. www.acmicpc.net 문제 풀이 그래프 탐색을 이용해서 푼 문제이다. 사실 문제 하단에 있는 힌트를 잘 살펴보면, 일정한 규칙이 있다는 것을 알 수 있었다. ....... ...O... ....O.. ....... OO..... OO..... OOOOOOO OOOOOOO OOOOOOO OOOOOOO OOOOOOO OOOOOOO OOO.OOO OO...OO OOO...O ..OO.OO ...OOOO ...OOOO OOOOOOO OOOOOOO OOOOOOO OOOOOOO OOOO..
15591. MooTube (Silver) 15591번: MooTube (Silver) 농부 존은 1번 동영상과 2번 동영상이 USADO 3을 가지고, 2번 동영상과 3번 동영상이 USADO 2를 가지고, 2번 동영상과 4번 동영상이 USADO 4를 가진다고 했다. 이것에 기반해서 1번 동영상과 3번 동영상의 www.acmicpc.net 문제 풀이 GitHub - minyoung529/AlgorithmStudy: 여러 알고리즘 문제를 푸는 저장소입니다. 여러 알고리즘 문제를 푸는 저장소입니다. Contribute to minyoung529/AlgorithmStudy development by creating an account on GitHub. github.com 유사도란 말에 겁먹었지만... 사실은 ..
18405. 경쟁적 전염 문제 풀이 18405번: 경쟁적 전염 첫째 줄에 자연수 N, K가 공백을 기준으로 구분되어 주어진다. (1 ≤ N ≤ 200, 1 ≤ K ≤ 1,000) 둘째 줄부터 N개의 줄에 걸쳐서 시험관의 정보가 주어진다. 각 행은 N개의 원소로 구성되며, 해당 위치 www.acmicpc.net 나 BFS로 풀어주세요!! 라고 외치고 있는 문제... 친히 BFS로 풀어주었다. 알고리즘 설계 (0,0)부터 (n,n)까지 차례대로 바이러스인지 검사를 한다. 좌표(x, y), 바이러스 번호, 감염된 날을 queue에 넣어준다. 새로 감염된 아이를 queue에 넣어줄 때 중앙에 있는 기존 바이러스(queue.top())의 감염된 날 + 1을 넣어주었다. queue의 top의 날이 S day가 넘어..
1697. 숨바꼭질 문제 풀이 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net BFS를 사용해서 푼 문제! 보자마자 BFS라고 생각했지만... 작은 실수들 때문에 메모리가 초과되거나 틀렸던 문제이다. DFS로 탐색하지 않은 이유는 +1을 DFS로 하고 0에서 100000까지 간다고 하면 처음부터 100000개의 수를 거쳐야 하기 때문이다. 한 문장으로 비효율적이라는 이야기! 알고리즘 설계 queue에 { start, 0 }을 넣어준다. queue가 빌 때까지 반복문을 돌려준다. (f..
13549. 숨바꼭질 3 문제 풀이 13549번: 숨바꼭질 3 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 기존 숨바꼭질에서 조건 하나만 바뀐 문제. 2 * X로 순간 이동할 때 1초가 아닌 0초 걸리는 것으로 바꿨다. 기존 코드에서 2*x하는 부분과 min값을 구하는 부분만 수정하면 되어서 어렵지 않았다. 알고리즘 설계 https://minyoung529.tistory.com/19 코드 #include #include using namespace std; #define MAX 100000 bool ..