본문 바로가기
728x90

Algorithm36

백준 7562번 - 나이트의 이동, BFS를 이용한 그래프 순회 문제 (with C++) 문제 소개 이번에 풀이한 문제는 7562번 나이트의 이동 문제입니다. solved.ac 기준으로 실버 1 난이도이긴 하나, BFS 알고리즘을 적용해야 하는 구조를 이해하면, 쉽게 풀 수 있는 문제였습니다!! 문제 링크입니다!! 😀 7562번: 나이트의 이동 체스판 위에 한 나이트가 놓여져 있다. 나이트가 한 번에 이동할 수 있는 칸은 아래 그림에 나와있다. 나이트가 이동하려고 하는 칸이 주어진다. 나이트는 몇 번 움직이면 이 칸으로 이동할 수 www.acmicpc.net 문제 설명 및 아이디어 임의의 사이즈의 체스판 위에서 나이트가 놓여 있을 때, 입력받은 도착 지점으로 이동하는데 최소 몇 번 움직여야 하는지 구하는 것이 목표인 문제입니다. 따라서 나이트의 현재 위치에 따라서 다음 번에 이동할 수 있는 .. 2022. 9. 4.
BOJ - 2110번 공유기 설치 문제, 이분 탐색 문제 풀이! (with C++) 이번에 풀이한 문제는 이분 탐색 알고리즘을 이용해 풀이해야 하는 문제였습니다. 이분 탐색 문제를 평소에 잘 풀이해보지 않아 오랜만에 풀게 되었는데, 역시나 개념 자체에 서툴러서 이전에 정리했음에도 불구하고 풀이하는데 어려움을 느껴 다른 분들의 개념을 적극적으로 참고해 풀이하게 되었습니다. 문제 링크는 여깄습니다! 😁 2110번: 공유기 설치 첫째 줄에 집의 개수 N (2 ≤ N ≤ 200,000)과 공유기의 개수 C (2 ≤ C ≤ N)이 하나 이상의 빈 칸을 사이에 두고 주어진다. 둘째 줄부터 N개의 줄에는 집의 좌표를 나타내는 xi (0 ≤ xi ≤ 1,000,000,000)가 www.acmicpc.net 2110번 문제 설명 우선 문제는 도현이가 가진 N개의 집에 C개의 공유기를 설치하는데, 공유기.. 2022. 8. 28.
BOJ - 13460번 구슬 탈출 2, BFS 방식으로 풀이 (C++) 1. 문제 소개 이번에는 BFS 관련해서 풀이할 문제를 찾아보다가 적당히 어려울 것 같은 느낌 같아서 13460번 문제를 풀이했던 과정을 정리해 보려고 합니다. https://www.acmicpc.net/problem/13460 13460번: 구슬 탈출 2 첫 번째 줄에는 보드의 세로, 가로 크기를 의미하는 두 정수 N, M (3 ≤ N, M ≤ 10)이 주어진다. 다음 N개의 줄에 보드의 모양을 나타내는 길이 M의 문자열이 주어진다. 이 문자열은 '.', '#', 'O', 'R', 'B' www.acmicpc.net 아무리 어려워도 그래프 탐색인데, 라고 생각했는데 골드 1 난이도가 괜히 책정된 게 아닌 느낌으로 풀이하는데 굉장히 까다로웠습니다. 제 풀이 과정을 정리하기에 앞서 문제 설명을 간략하게 해.. 2022. 8. 25.
BOJ - 11054번 가장 긴 바이토닉 부분 수열, 동적계획법 문제 이번 문제는 동적 계획법(Dynamic programming)을 활용해 쉽게 풀이할 수 있는 문제입니다. 가장 긴 증가하는 부분 수열 구하기 + 가장 긴 감소하는 부분 수열 구하기 문제를 합친 문제라고 볼 수 있습니다! 0. 문제 링크 11054번: 가장 긴 바이토닉 부분 수열 첫째 줄에 수열 A의 크기 N이 주어지고, 둘째 줄에는 수열 A를 이루고 있는 Ai가 주어진다. (1 ≤ N ≤ 1,000, 1 ≤ Ai ≤ 1,000) www.acmicpc.net 1. 문제 설명 수열 S가 어떤 수 Sk를 기준으로 S1 Sk+1 > ... SN-1 > SN을 만족한다면, 그 수열을 바이토닉 수열이라고 한다. 예를 들어, {10, 20, 30, 25, 20}과 {10, 2.. 2022. 8. 16.
BOJ - 1022번 소용돌이 예쁘게 출력하기, 구현 문제 (with C++) 이번에 풀이한 1022번 소용돌이 예쁘게 출력하기 문제는 구현 유형의 문제로, 제가 구현 문제 풀이에 취약한 것 같아서 풀게 되었습니다. 😂 문제 링크 1022번: 소용돌이 예쁘게 출력하기 첫째 줄에 네 정수 r1, c1, r2, c2가 주어진다. www.acmicpc.net 😁 문제 설명 크기가 무한인 정사각형 모눈종이가 있다. 모눈종이의 각 정사각형은 행과 열의 쌍으로 표현할 수 있다. 이 모눈종이 전체를 양의 정수의 소용돌이 모양으로 채울 것이다. 일단 숫자 1을 0행 0열에 쓴다. 그리고 나서 0행 1열에 숫자 2를 쓴다. 거기서 부터 소용돌이는 반시계 방향으로 시작된다. 다음 숫자는 다음과 같이 채우면 된다. 이 문제는 위와 같이 채운 것을 예쁘게 출력하면 된다. r1, c1, r2, c2가 입.. 2022. 8. 11.
BOJ - 2211번 네트워크 복구, dijkstra(다익스트라) 풀이 (C++) 오늘은 한 정점을 기준으로 모든 노드로 향하는 최단 거리를 구하는데 사용하는 다익스트라 알고리즘을 이용해 백준 2211번 네트워크 복구 문제를 풀이한 과정을 정리해보려 합니다. 문제 링크 2211번: 네트워크 복구 첫째 줄에 두 정수 N, M이 주어진다. 다음 M개의 줄에는 회선의 정보를 나타내는 세 정수 A, B, C가 주어진다. 이는 A번 컴퓨터와 B번 컴퓨터가 통신 시간이 C (1 ≤ C ≤ 10)인 회선으로 연결되어 있다 www.acmicpc.net 😀 문제 설명 N(1 ≤ N ≤ 1,000)개의 컴퓨터로 구성된 네트워크가 있다. 이들 중 몇 개의 컴퓨터들은 서로 네트워크 연결이 되어 있어 서로 다른 두 컴퓨터 간 통신이 가능하도록 되어 있다. 통신을 할 때에는 서로 직접 연결되어 있는 회선을 이.. 2022. 8. 6.
728x90