본문 바로가기

🧑‍💻코딩 테스트74

[코딩 테스트/백준 알고리즘] 11047번 - 동전 0 (Java, 자바 풀이) 문제 https://www.acmicpc.net/problem/11047 11047번: 동전 0 첫째 줄에 N과 K가 주어진다. (1 ≤ N ≤ 10, 1 ≤ K ≤ 100,000,000) 둘째 줄부터 N개의 줄에 동전의 가치 Ai가 오름차순으로 주어진다. (1 ≤ Ai ≤ 1,000,000, A1 = 1, i ≥ 2인 경우에 Ai는 Ai-1의 배수) www.acmicpc.net 문제 설명 문제 풀이 가치가 가장 큰 동전부터 연산을 통해. 금액을 줄여가면서 해결했다. 순차적으로 위에서부터 내려오면 풀리는 문제라서 그리디 알고리즘 문제 치고는 수월하게 해결했다. 코드 import java.util.*; class Main { public static void main(String[] args) { Scan.. 2022. 12. 11.
[코딩 테스트/백준 알고리즘] 1764번 - 듣보잡 (Java, 자바 풀이) 문제 https://www.acmicpc.net/problem/1764 1764번: 듣보잡 첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다. www.acmicpc.net 문제 설명 문제 풀이 HashSet을 사용해서 듣도 못한 사람을 입력받은 뒤, 보도 못한 사람을 입력받을 때 contains() 메서드를 활용해서 이미 존재하는 사람이라면 듣보잡으로 취급했다. 코드 import java.lang.reflect.Array; import java.util.*; class Main { public static void main(String[] args) { Sc.. 2022. 12. 10.
[코딩테스트/알고리즘] 그래프(Graph) - 그래프의 표현 이번 글에는 그래프를 표현하는 방법에 대해 알아보도록 하겠다. 정점 : {1, 2, 3, 4, 5, 6} 간선 : {(1, 2), (1, 5), (2, 3), (2, 4), (2, 5), (3, 4), (3, 6), (3, 6), (4, 6)} 1. 인접 행렬 V개의 정점이 있을 때 V ☓ V 사이즈의 이차원 배열을 통해 나타낸다. 정점 i와 정점 j가 연결되어있을 때 A[i][j] = 1 정점 i와 정점 j가 연결되어있지 않을 때 A[i][j] = 0 예시 1 2 3 4 5 6 1 1 0 0 1 0 2 1 1 0 1 0 3 0 1 1 0 1 4 0 0 1 1 1 5 1 1 0 1 0 6 0 0 1 1 0 2. 인접 리스트 리스트(배열)를 이용해서 구현한다. 리스트는 크기를 동적으로 변경할 수 있어야 한.. 2022. 12. 9.
[코딩테스트/백준 알고리즘] 13023번 - ABCDE (자바, Java 풀이) 문제 https://www.acmicpc.net/problem/13023 13023번: ABCDE 문제의 조건에 맞는 A, B, C, D, E가 존재하면 1을 없으면 0을 출력한다. www.acmicpc.net 문제 설명 문제 풀이 이 문제는 DFS를 통해 길이가 5인 경로가 존재하는지 확인하는 방법으로 해결할 수 있다. 하지만 이번 풀이는 다른 방법으로 해결해보겠다. 이 방법을 위해선 그래프를 표현하는 방법 중 인접 행렬, 인접 리스트, 간선 리스트를 모두 사용해야 한다. 간선 리스트를 사용해서 A - B 를 찾는다 간선 리스트를 사용해서 C - D 를 찾는다. 인접 행렬을 사용해서 B 와 C가 연결되어 있는지 확인한다. 입접 리스트를 사용해서 D에서 E(A, B, C, D가 아닌 친구)가 연결되어 있.. 2022. 11. 1.