https://www.acmicpc.net/problem/1644 1644번: 소수의 연속합 문제 하나 이상의 연속된 소수의 합으로 나타낼 수 있는 자연수들이 있다. 몇 가지 자연수의 예를 들어 보면 다음과 같다. 3 : 3 (한 가지) 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (세 가지) 53 : 5+7+11+13+17 = 53 (두 www.acmicpc.net 난이도 : 골드 3 문제를 직관적으로 바라보고 풀었는데 바로 통과가 됐습니다. 난이도보다 매우 쉬운 문제였습니다. 입력값까지의 소수를 구한 후 투 포인터로 입력된 값이 맞는지 확인해 주면 됩니다. 투 포인터란? 투 포인터는 2중 for문에서 변수인 i, j로 배열을 탐색하며 범위를 조절하는 방법입니다. 위의 그림에서는 i,..
https://www.acmicpc.net/problem/10971 10971번: 외판원 순회 2 첫째 줄에 도시의 수 N이 주어진다. (2 ≤ N ≤ 10) 다음 N개의 줄에는 비용 행렬이 주어진다. 각 행렬의 성분은 1,000,000 이하의 양의 정수이며, 갈 수 없는 경우는 0이 주어진다. W[i][j]는 도시 i에서 j www.acmicpc.net 난이도 : 실버 2 DFS로 풀 수 있는 문제입니다. 방문 가능한 나라를 방문시 비용을 모두 더해준 후 마지막 방문지에서 출발지로 가는 비용을 더해주면 됩니다. 문제를 깊게 생각 안하고 풀었는데 놓친 것이 있었습니다. 예를들어 1, 2, 3, 4 순으로 방문을 했을 때 마지막 방문지인 4에서 출발지인 1로 갈 수 없는 경우를 생각 못 했습니다. 전역 변..
https://www.acmicpc.net/problem/1261 1261번: 알고스팟 첫째 줄에 미로의 크기를 나타내는 가로 크기 M, 세로 크기 N (1 ≤ N, M ≤ 100)이 주어진다. 다음 N개의 줄에는 미로의 상태를 나타내는 숫자 0과 1이 주어진다. 0은 빈 방을 의미하고, 1은 벽을 의미 www.acmicpc.net 난이도 : 골드 4 무난한 BFS 문제입니다. 하지만 단순히 방문 여부로 목적지까지 길을 찾는다면 벽을 적게 부수며 멀리 돌아온 경우가 벽을 많이 부수며 빨리 도착한 경우에 밀려서 오답을 낼 수 있습니다. 방문하는 칸마다 최적화시켜서 목적지까지 찾아갔습니다. 전역 변수 n, m = map의 크기(m이 가로 수, n이 세로 수) map[][] = 미로의 값 value[][] =..
https://www.acmicpc.net/problem/1707 1707번: 이분 그래프 입력은 여러 개의 테스트 케이스로 구성되어 있는데, 첫째 줄에 테스트 케이스의 개수 K(2≤K≤5)가 주어진다. 각 테스트 케이스의 첫째 줄에는 그래프의 정점의 개수 V(1≤V≤20,000)와 간선의 개수 www.acmicpc.net 난이도 : 골드 4 우선 이 문제를 풀기 위해서는 이분 그래프에 대해 알아야 합니다. 저는 문제를 처음 읽었을 때 이분 그래프를 잘못 이해해서 이상한 방향으로 갔습니다. 이런식으로 그래프가 2덩어리로 나눠진 것을 찾는 문제인지 알았어요.. 하지만 이런 친구가 이분 그래프였습니다. 이분 그래프에 대해 쉽게 설명드리겠습니다. 전 어렵고 전문적이게 설명을 못 하기 때문이예요. 저는 이렇게 ..
https://www.acmicpc.net/problem/11559 11559번: Puyo Puyo 현재 주어진 상황에서 몇연쇄가 되는지 출력하라. (하나도 터지지 않는다면 0을 출력하면 된다.) www.acmicpc.net 난이도 : 골드 5 개인적으로 이런 유형의 문제를 좋아해서 재밌게 풀었습니다. 여러 기능을 구현하다 보면 열심히 일 하는 느낌(?)이 들어서 기분이 좋아요. 다양한 기능이 필요하지만 어렵지 않고 각 기능만 제대로 구현한다면 잘 동작하는 문제였습니다. 한 사이클에 터질 수 있는 블록을 모두 체크해두고 사이클이 끝나면 그 블록들을 터트린 후 위에 붕 떠있는 블록들을 밑으로 내려주는 과정을 반복하면 됩니다. 쉽죠? 전역 변수 map[][] = 게임판 answer = 몇 사이클 돌았나?(답..
https://www.acmicpc.net/problem/3055 3055번: 탈출 문제 사악한 암흑의 군주 이민혁은 드디어 마법 구슬을 손에 넣었고, 그 능력을 실험해보기 위해 근처의 티떱숲에 홍수를 일으키려고 한다. 이 숲에는 고슴도치가 한 마리 살고 있다. 고슴도치�� www.acmicpc.net 난이도 : 골드 5 BFS로 어렵지 않게 풀 수 있는 문제였습니다. 주의해야 할 것은 물이 불어날 위치는 못 간다는 것입니다. 그래서 고슴도치가 이동하기 전에 미리 물을 불려놓고 고슴도치를 이동시켰습니다. 전역 변수 r, c = 티떺숲의 크기 answer = 이동 시간 endX, endY = 비버 굴의 좌표값 startX, startY = 고슴도치의 시작 위치 map[][] = 티떺숲의 상태 값 visit..
https://www.acmicpc.net/problem/17140 17140번: 이차원 배열과 연산 첫째 줄에 r, c, k가 주어진다. (1 ≤ r, c, k ≤ 100) 둘째 줄부터 3개의 줄에 배열 A에 들어있는 수가 주어진다. 배열 A에 들어있는 수는 100보다 작거나 같은 자연수이다. www.acmicpc.net 난이도 : 골드 4 문제를 읽었을 때 한번에 이해가 되지 않아 여러 번 반복해서 읽게 되는 문제들이 있습니다. 이 문제가 저한텐 이해가 한번에 잘 되지 않았네요. R연산 : 행의 길이와 열의 길이가 같을 때. C연산 : 열의 길이가 행의 길이보다 길 때. R, C연산을 할 때 기준에 맞춰서 정렬을 시작합니다. 정렬 기준은 숫자의 등장 횟수(오름차순), 동일 횟수면 숫자(오름차순)입니다..
https://www.acmicpc.net/problem/17779 17779번: 게리맨더링 2 재현시의 시장 구재현은 지난 몇 년간 게리맨더링을 통해서 자신의 당에게 유리하게 선거구를 획정했다. 견제할 권력이 없어진 구재현은 권력을 매우 부당하게 행사했고, 심지어는 시의 이름�� www.acmicpc.net 난이도 : 골드 4 경계로 이루어진 사각형의 가장 위의 점을 기준으로 완전 탐색을 했습니다. d1, d2의 값을 증가시키며 조건에 맞는 경우에 대해 인구수를 구한 후 가장 큰 값과 가장 작은 값의 차를 비교해가며 답을 찾았습니다. 경계값으로 이루어진 5번 선거구의 합을 구하는 방법을 찾는 것에 문제 풀이 시간의 절반 이상을 쓴 것 같습니다. 그런데도 좋은 방법을 찾지 못해서 가장 먼저 떠오른 방법을..