반응형
[백준 / C언어] 1213번: 팰린드롬 만들기
https://www.acmicpc.net/problem/1213
- PS/백준
- · 2023. 5. 25.
반응형
https://www.acmicpc.net/problem/1012 1012번: 유기농 배추 차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 www.acmicpc.net 난이도: solved.ac 실버 2 알고리즘 분류 DFS, BFS 구현 나는 BFS를 이용해 구현하였다 입력받은 size만큼의 크기인 map과 visited라는 2차원 배열을 만들었는데, 모두 calloc으로 만들어 모든 원소가 0이 되도록 해주었다 map은 배추의 위치를 표시하는 용도, visited는 방문한 배추의 위치를 표시하는 용도로 사용하였다 그리고 이중 for문을 이용해 배추의 위치를 찾아 BFS를..
https://www.acmicpc.net/problem/1010 1010번: 다리 놓기 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트케이스에 대해 강의 서쪽과 동쪽에 있는 사이트의 개수 정수 N, M (0 < N ≤ M < 30)이 주어진다. www.acmicpc.net 난이도: solved.ac 실버 5 사용 알고리즘 조합 접근 방법 조합을 활용한 문제다 다리를 놓는다는 것은 강 동쪽의 사이트 M개에서 강 서쪽의 사이트 N개로 선을 잇는다는 것인데, 이는 곧 M개에서 N개를 선택하는 경우를 말한다 경우의 수를 구하는 문제이므로 순열 또는 조합을 이용해야 할 텐데 여기서 순열이 아니고 조합인 이유는 바로 강 동쪽의 사이트에서 강 서쪽의 사이트로 다리를 놓는데 다리..
https://www.acmicpc.net/problem/1213
https://www.acmicpc.net/problem/1874 1874번: 스택 수열 1부터 n까지에 수에 대해 차례로 [push, push, push, push, pop, pop, push, push, pop, push, push, pop, pop, pop, pop, pop] 연산을 수행하면 수열 [4, 3, 6, 8, 7, 5, 2, 1]을 얻을 수 있다. www.acmicpc.net 난이도: solved.ac 실버 2 스택을 활용하는 문제다 문제 이해가 안 되는 분들을 위해 먼저 주어진 예제 1을 통해 설명해 보겠다 첫 번째인 4를 만들기 위해서는 스택에서 4를 꺼내야 한다 현재 스택은 텅 비어있는 상태이므로 1부터 4까지의 수를 차례로 스택에 넣어준다 따라서 ++++가 된다 그리고 맨꼭대기에 ..
https://www.acmicpc.net/problem/1991 1991번: 트리 순회 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파 www.acmicpc.net 난이도: solved.ac 실버 1 처음엔 배열을 이용해 트리를 만드려다가 트리가 한쪽으로 쏠려있는 경우에 배열의 크기가 2^26 - 1가 될 수 있으므로 Linked List(연결리스트)로 만들어주었다 그리고 두 가지 방식으로 풀어보았는데 두 코드 모두 아래의 순서로 진행된다 1) root 노드를 따로 만들어줌 2) 나머지 자식 노드들을 만들어 tree에 연결시켜 줌 3) preore..
https://www.acmicpc.net/problem/2667 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 난이도: solved.ac 실버 1 사용 알고리즘 DFS (BFS도 가능) 접근 방법 DFS와 BFS 알고리즘 기본 문제다 먼저 for문을 이용해 한 칸씩 이동하며 집을 찾아주고, 집을 찾으면 해당 집이 속한 단지를 DFS를 이용해 찾아주었다 이때 집의 개수도 size라는 변수를 통해 세어주었다 그리고 한 단지의 탐색이 끝나면 num이라는 배열에 위에서 구한 size를 저장시켜주었다 이 과정을 반복..