본문 바로가기

분류 전체보기133

[코딩테스트/백준 알고리즘] 1074번 - Z (Java, 자바 풀이) 문제 https://www.acmicpc.net/problem/1074 1074번: Z 한수는 크기가 2N × 2N인 2차원 배열을 Z모양으로 탐색하려고 한다. 예를 들어, 2×2배열을 왼쪽 위칸, 오른쪽 위칸, 왼쪽 아래칸, 오른쪽 아래칸 순서대로 방문하면 Z모양이다. N > 1인 경우, 배열을 www.acmicpc.net 문제 설명 문제 풀이 맵을 사등분해서 좌표가 4개의 구역 중 어디에 위치하는지 추적한다. 한 구역에 든 요소의 수는 2²ⁿ⁻²이기 때문에 i번째 구역으로 이동하게 된다면 i * 2²ⁿ⁻²만큼의 카운트를 더해줘야 한다. 이 과정을 맵의 크기가 2X2 사이즈가 될때까지 반복하여 실행한다. 코드 import java.util.*; class Main { public static void .. 2023. 1. 18.
[코딩테스트/백준 알고리즘] 1389번 - 케빈 베이컨의 6단계 법칙 문제 https://www.acmicpc.net/problem/1389 1389번: 케빈 베이컨의 6단계 법칙 첫째 줄에 유저의 수 N (2 ≤ N ≤ 100)과 친구 관계의 수 M (1 ≤ M ≤ 5,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계가 주어진다. 친구 관계는 A와 B로 이루어져 있으며, A와 B가 친구라는 뜻 www.acmicpc.net 문제 설명 문제 풀이 BFS 알고리즘을 통해 해당 노드와 친구인 노드들을 큐에 추가하고 단계를 거칠 때마다 가중치를 하나씩 증가한다. 코드 import java.util.*; import java.io.*; class Main { static int minSum = Integer.MAX_VALUE; static int result = 5001;.. 2023. 1. 13.
[코딩테스트/백준 알고리즘] 1992번 - 쿼드트리 (Java, 자바 풀이) 문제 https://www.acmicpc.net/problem/1992 1992번: 쿼드트리 첫째 줄에는 영상의 크기를 나타내는 숫자 N 이 주어진다. N 은 언제나 2의 제곱수로 주어지며, 1 ≤ N ≤ 64의 범위를 가진다. 두 번째 줄부터는 길이 N의 문자열이 N개 들어온다. 각 문자열은 0 또 www.acmicpc.net 문제 설명 문제 풀이 https://www.acmicpc.net/problem/1780 1780번: 종이의 개수 N×N크기의 행렬로 표현되는 종이가 있다. 종이의 각 칸에는 -1, 0, 1 중 하나가 저장되어 있다. 우리는 이 행렬을 다음과 같은 규칙에 따라 적절한 크기로 자르려고 한다. 만약 종이가 모두 같은 수 www.acmicpc.net 이 문제랑 풀이 방식이 비슷했다. 재.. 2023. 1. 6.
[코딩테스트/ 백준 알고리즘] 17626번 - Four Squares (Java, 자바 풀이) 문제 https://www.acmicpc.net/problem/17626 17626번: Four Squares 라그랑주는 1770년에 모든 자연수는 넷 혹은 그 이하의 제곱수의 합으로 표현할 수 있다고 증명하였다. 어떤 자연수는 복수의 방법으로 표현된다. 예를 들면, 26은 52과 12의 합이다; 또한 42 + 32 + 1 www.acmicpc.net 문제 설명 문제 풀이 i가 제곱 수가 아닐 때 i가 제곱수일 때 브루트포스 a₁의 값에 따라 결과가 달라지므로 a₁을 감소시키면서 값을 모두 구해본다. memo i 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 memo[i] 1 2 3 1 2 3 4 2 1 2 3 3 2 3 3 1 2 2 코드 import java.util.. 2023. 1. 5.