백준

    [백준] 17427 약수의 합2 (Java)

    [백준] 17427 약수의 합2 (Java)

    ✉️문제 https://www.acmicpc.net/problem/17427 17427번: 약수의 합 2 두 자연수 A와 B가 있을 때, A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 예를 들어, 2의 약수는 1, 2가 있고, 24의 약수는 1, 2, 3, 4, 6, 8, 12, 24가 있다. 자연수 A의 약수의 합은 A의 모든 약수를 더 www.acmicpc.net 📝 접근 https://brightmango.tistory.com/345 [알고리즘] 약수 알고리즘 A와 B라는 숫자가 있을 때 A = BC를 만족하는 자연수 C를 A의 약수라고 한다. 이런 약수를 구하는 방법은 3가지가 있다. 모든 자연수로 나누는 방법 : O(n) 말 그래도 1부터 N까지 모든 수로 나누어 brightmango..

    [Baekjoon] 10815 숫자 카드

    ✉️문제 https://www.acmicpc.net/problem/10815 10815번: 숫자 카드 첫째 줄에 상근이가 가지고 있는 숫자 카드의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 숫자 카드에 적혀있는 정수가 주어진다. 숫자 카드에 적혀있는 수는 -10,000,000보다 크거나 같고, 10, www.acmicpc.net 📝 접근 이분 탐색을 이용한다. 이분 탐색의 핵심은 left point와 right point를 선언한다음 이를 계속 업데이트하는 것이다. 🗝 문제풀이 package baekjoon; import java.util.Arrays; import java.util.Scanner; public class B10815 { static int n,m; static in..

    [백준] 9205 맥주 마시면서 걸어가기 (JAVA)

    ✉️문제 https://www.acmicpc.net/problem/9205 9205번: 맥주 마시면서 걸어가기 송도에 사는 상근이와 친구들은 송도에서 열리는 펜타포트 락 페스티벌에 가려고 한다. 올해는 맥주를 마시면서 걸어가기로 했다. 출발은 상근이네 집에서 하고, 맥주 한 박스를 들고 출발한다. www.acmicpc.net 📝 접근 DFS와 BFS의 경계가 모호한 문제인 것 같다. 개인적으로 Queue를 이용하는 것 보다는 DFS가 좋아 DFS를 이용하여 풀이하였다. 🗝 문제풀이 1. 첫 입력으로 테스트 개수가 주어진다. 따라서 테스트 개수를 이용한 for문을 돈다. 2. 편의점의 수가 주어지는데, 이 좌표들을 store 배열에 저장하였다. 3. 편의점을 방문했는지 체크하기 위해 visited 배열을 ..

    [백준] 2468 안전 영역 (JAVA)

    ✉️문제 https://www.acmicpc.net/problem/2468 2468번: 안전 영역 재난방재청에서는 많은 비가 내리는 장마철에 대비해서 다음과 같은 일을 계획하고 있다. 먼저 어떤 지역의 높이 정보를 파악한다. 그 다음에 그 지역에 많은 비가 내렸을 때 물에 잠기지 않는 www.acmicpc.net 📝 접근 DFS, BFS를 이용하여 문제 풀이가 가능하다. 필자는 DFS를 이용했다. (미로 찾기처럼 뻗어나가는 문제는 DFS를 이용한 풀이를 좋아하는 편이다) 🗝 문제풀이 1. 높이가 0 ~ 100 범위일 때 안전한 지역을 찾고, DFS를 이용하여 안전 지역의 범위를 체크한다. ⚠️ 높이가 1 ~ 100 범위이기 때문에 h를 1로 둘 수 있는데 1부터 시작하게 되면 아무 지역도 물에 잠기지 않..

    [백준] 5014 스타트링크 (JAVA)

    ✉️문제 https://www.acmicpc.net/problem/5014 5014번: 스타트링크 첫째 줄에 F, S, G, U, D가 주어진다. (1 ≤ S, G ≤ F ≤ 1000000, 0 ≤ U, D ≤ 1000000) 건물은 1층부터 시작하고, 가장 높은 층은 F층이다. www.acmicpc.net 📝 접근 먼저 문제를 예제를 통해 이해해보자. [ 10, 1, 10, 2, 1 ] 의 입력이 들어왔을 때 이는 다음과 같다. -> 건물은 10층으로 구성되어 있고 강호는 현재 1층에 있다. 스타링크까지 가야하는데 현재 스타링크의 위치는 10층에 있으며, 올라갈 때는 2층씩 올라갈 수 있고 내려갈 때는 1층씩 내려갈 수 있다. 이 때의 최단 거리를 구하는 문제이다. 필자는 최단 거리를 구할 때는 보통 ..