BOJ(375)
-
[백준 BOJ] 1753번 최단경로 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/1753 1753번: 최단경로 첫째 줄에 정점의 개수 V와 간선의 개수 E가 주어진다. (1 ≤ V ≤ 20,000, 1 ≤ E ≤ 300,000) 모든 정점에는 1부터 V까지 번호가 매겨져 있다고 가정한다. 둘째 줄에는 시작 정점의 번호 K(1 ≤ K ≤ V)가 www.acmicpc.net 접근 방법 - 다익스트라(BFS)를 활용한 최단 경로 문제 (feat. 우선순위 큐) 백준의 1753번 문제는 너비 우선 탐색(BFS)과 깊은 연관이 있는 다익스트라 알고리즘을 활용하여 해결해야 하는 최단 경로 구하기 문제이다. 해당 문제는, 각 방향그래프의 시작점/끝점/가중치를 순차적으로 입력받을 때 시작점으로부터 각 지점마다의 최단 경로를 구하여..
2024.02.03 -
[백준 BOJ] 15781번 헬멧과 조끼 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/15781 15781번: 헬멧과 조끼 입력의 첫째 줄에 맵에 존재하는 헬멧의 개수 N(N은 1000이하의 자연수)과 조끼의 개수 M(M은 1000이하의 자연수)이 주어진다. 둘째 줄에 각 헬멧의 방어력 h[i] (h[i]는 10억 이하의 자연수)가 N개 만큼 www.acmicpc.net 접근 방법 - 기초적인 최댓값 추출 연산 문제 백준의 15781번 문제는 여러 입력값들 중 최댓값을 추출하여 연산을 수행해야 하는 기초적인 문제이다. 해당 문제는, 입력값들 중 방어력이 가장 높은 헬멧과 조끼를 찾아내고 방어력의 최댓값을 구하여 출력해야 하는 문제이다. 문제에서 설명하는 대로 방어력이 가장 높은 헬멧과 조끼를 각각 찾아내어 이들의 합을 출..
2024.02.02 -
[백준 BOJ] 2508번 사탕 박사 고창영 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/2508 2508번: 사탕 박사 고창영 창영이가 드디어 취직을 했다!! 그가 30세까지 취직을 안하던 이유는 바로 마음에 다니는 직장을 찾지 못해서였다. 이번에 창영이가 취직한 곳은 사탕 공장이다. 사탕 공장에 다니면 사탕 처럼 www.acmicpc.net 접근 방법 - 문자열에 대한 브루트포스 알고리즘 문제 백준의 2508번 문제는 간단한 문자열 탐색 브루트포스 알고리즘 문제이다. 해당 문제는, 입력으로 주어지는 값에 대해 사탕 이모티콘이 총 몇 개 있는지를 구하여 출력해야 하는 문제이다. 이때 사탕은 위 문제 조건에 제시되어 있는 것처럼 각각 가로, 세로로 나열되어 있을 수 있다. 힌트에 있는 것처럼 가로, 세로 사탕이 겹치는 입력이..
2024.02.01 -
[백준 BOJ] 23806번 골뱅이 찍기 - ㅁ (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/23806 23806번: 골뱅이 찍기 - ㅁ 서준이는 아빠로부터 골뱅이가 들어 있는 상자를 생일 선물로 받았다. 상자 안에는 ㅁ자 모양의 골뱅이가 들어있다. ㅁ자 모양은 가로 및 세로로 각각 5개의 셀로 구성되어 있다. 상자에는 정사 www.acmicpc.net 접근 방법 - 이중 반복문을 응용한 문제 백준의 23806번 문제는 이중 반복문을 활용하여 해결할 수 있는 문제이다. 해당 문제는, 입력값에 따라 특정 규칙을 이용하여 "@"를 통해 ㅁ 형태로 그리는 프로그램을 구현해야 하는 문제이다. 필자는 ㅁ에 있어, 윗부분 / 중간 부분 / 밑부분처럼 3개의 구역으로 나누어서 출력을 수행하게끔 하였다. (n은 입력값을 나타낸다.) - ㅁ의 ..
2023.11.22 -
[백준 BOJ] 1940번 주몽 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/1940 1940번: 주몽 첫째 줄에는 재료의 개수 N(1 ≤ N ≤ 15,000)이 주어진다. 그리고 두 번째 줄에는 갑옷을 만드는데 필요한 수 M(1 ≤ M ≤ 10,000,000) 주어진다. 그리고 마지막으로 셋째 줄에는 N개의 재료들이 가진 고 www.acmicpc.net 접근 방법 - 두 포인터 알고리즘의 기초 문제 백준의 1940번 문제는 두 포인터를 이용하여 간단하게 해결할 수 있는 문제이다. 해당 문제는, 재료로 주어지는 고유 번호들 중 2개를 적절히 조합하여 갑옷을 만들 수 있을 때 만들 수 있는 갑옷의 개수를 구하여 출력해야 하는 문제이다. 이때 두 포인터는, 진짜로 포인터의 개념을 이용해야 하는 것이 아닌, 2개 이상..
2023.10.29 -
[백준 BOJ] 15726번 이칙연산 (C++/cpp)
문제 설명 https://www.acmicpc.net/problem/15726 15726번: 이칙연산 첫째 줄에 세 개 정수 A, B, C(1 ≤ A, B, C ≤ 1,000,000)가 주어진다. 답은 int범위를 벗어나지 않는다. www.acmicpc.net 접근 방법 - 최댓값 연산의 기초 알고리즘 문제 백준의 15726번 문제는 값을 비교하여 최댓값을 구하는 기초적인 알고리즘 문제이다. 해당 문제는, 입력값으로 주어지는 3개의 값에 대해 한 번의 곱셈과 한 번의 나눗셈을 수행할 때 나타날 수 있는 최댓값을 구하여 출력하면 되는 문제이다. 필자는, 2개 경우에 대한 연산을 모두 수행해 본 뒤 그들 중 큰 값을 출력하게끔 코드를 구성하였다. 해당 문제와 같은 경우엔, 나눗셈을 먼저 수행하는지 or 곱셈..
2023.10.22