알고리즘/BOJ 1235

백준 16236번 아기 상어

문제 링크입니다: https://www.acmicpc.net/problem/16236 16236번: 아기 상어 N×N 크기의 공간에 물고기 M마리와 아기 상어 1마리가 있다. 공간은 1×1 크기의 정사각형 칸으로 나누어져 있다. 한 칸에는 물고기가 최대 1마리 존재한다. 아기 상어와 물고기는 모두 크기를 가지고 있고, 이 크기는 자연수이다. 가장 처음에 아기 상어의 크기는 2이고, 아기 상어는 1초에 상하좌우로 인접한 한 칸씩 이동한다. 아기 상어는 자신의 크기보다 큰 물고기가 있는 칸은 지나갈 수 없고, 나머지 칸은 모두 지나갈 수 있다. 아기 상어는 자신의 크 www.acmicpc.net 백준에서 불 시리즈 문제를 풀었다면 무난하게 풀 수 있는 문제였습니다. 백준 4179번 불(https://jaim..

알고리즘/BOJ 2019.04.10

백준 14911번 궁합 쌍 찾기

문제 링크입니다: https://www.acmicpc.net/problem/14911 14911번: 궁합 쌍 찾기 첫째 줄에 빈 칸으로 구분된 정수가 2개 이상, 10개 이하 주어진다. 둘째 줄에는 정수가 하나 주어진다. 주어지는 정수는 100,000보다 작거나 같은 자연수이다. www.acmicpc.net 입력 받는 숫자의 개수가 주어지지 않았으므로 EOF가 발생할 때까지 입력을 받습니다. 마지막으로 입력받은 숫자가 원하는 합이고 사전순으로 출력되기를 원하므로 합을 제외한 나머지 숫자들을 정렬해줘야합니다. 그리고 쌍의 중복을 원하지 않기 때문에 map을 통해 중복 제거를 해줬습니다.

알고리즘/BOJ 2019.04.10

백준 14913번 등차수열에서 항 번호 찾기

문제 링크입니다: https://www.acmicpc.net/problem/14913 14913번: 등차수열에서 항 번호 찾기 k가 몇 번째 항인지 출력한다. 만약, k가 주어진 a와 d로 만들어진 등차수열의 수가 아니면 "X"를 출력한다. www.acmicpc.net 예외 처리를 할 때, (k-a)가 d로 나누어 떨어지지 않는 경우와 (k-a)가 d로 나누어 떨어지지만 몫이 음수인 경우도 생각해줘야합니다.

알고리즘/BOJ 2019.04.10

백준 14914번 사과와 바나나 나누기

문제 링크입니다: https://www.acmicpc.net/problem/14914 14914번: 사과와 바나나 나눠주기 아름이가 나누어 줄 수 있는 경우를 모두 출력해야 하며, 각 경우마다 친구의 수, 사과 개수, 바나나 개수 차례로 한 줄에 각각 빈칸으로 구분하여 출력한다. 각 경우마다 중복없이 한 번만 출력되어야 하며, 경우의 순서는 친구의 수가 증가하는 순으로 한다. www.acmicpc.net a와 b의 공통 약수를 찾는 것이 핵심인 문제였습니다. 정답률이 말해주듯이 매우 쉬운 문제였습니다.

알고리즘/BOJ 2019.04.09

백준 2239번 스도쿠

문제 링크입니다: https://www.acmicpc.net/problem/2239 2239번: 스도쿠 문제 스도쿠는 매우 간단한 숫자 퍼즐이다. 9×9 크기의 보드가 있을 때, 각 행과 각 열, 그리고 9개의 3×3 크기의 보드에 1부터 9까지의 숫자가 중복 없이 나타나도록 보드를 채우면 된다. 예를 들어 다음을 보자. 위 그림은 참 잘도 스도쿠 퍼즐을 푼 경우이다. 각 행에 1부터 9까지의 숫자가 중복 없이 나오고, 각 열에 1부터 9까지의 숫자가 중복 없이 나오고, 각 3×3짜리 사각형(9개이며, 위에서 색깔로 표시되었다)에 1부터 9까지의 숫자가 중 www.acmicpc.net 백준 2580번 스도쿠와 똑같은 문제였습니다.(https://jaimemin.tistory.com/664)

알고리즘/BOJ 2019.04.08

백준 14890번 경사로

문제 링크입니다: https://www.acmicpc.net/problem/14890 14890번: 경사로 첫째 줄에 N (2 ≤ N ≤ 100)과 L (1 ≤ L ≤ N)이 주어진다. 둘째 줄부터 N개의 줄에 지도가 주어진다. 각 칸의 높이는 10보다 작거나 같은 자연수이다. www.acmicpc.net 생각보다 쉽게 풀 수 있는 문제였습니다. 문제에서 주어진 조건대로 모든 행과 열을 확인하며 가능한 경사로의 개수를 세면 되는 문제였습니다. 까다로운 부분이라면 경사로가 형성되기 위해서는 높이가 달라지는 부분이 L만큼 같은 높이를 처리하는 부분이였습니다. 이는 주석에 잘 작성했으니 코드를 확인하면 이해가 될 것입니다. 개발환경:Visual Studio 2017 지적, 조언, 질문 환영입니다! 댓글 남겨주..

알고리즘/BOJ 2019.04.04

백준 4307번 개미

문제 링크입니다: https://www.acmicpc.net/problem/4307 "두 개미가 만나게 된다면, 방향을 반대로 바꾸어 걸어가게 된다." 해당 문구 때문에 헷갈릴 수 있는 문제였습니다.결론부터 말하자면 이런 경우는 전혀 고려하지 않아도 되는 문제였습니다.개미들이 각자 갈길을 가며 최소 시간은 해당 지점부터 더 빠르게 떨어지는 막대 끝, 최대 시간은 해당 지점부터 더 빠르게 떨어지는 막대 끝으로 가는 시간을 구해주면 되는 그리디 문제였습니다. 개발환경:Visual Studio 2017 지적, 조언, 질문 환영입니다! 댓글 남겨주세요~

알고리즘/BOJ 2019.03.15