본문 바로가기

🧑‍💻코딩 테스트/백준 (BOJ)69

[코딩테스트/ 백준 알고리즘] 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.
[코딩테스트/백준 알고리즘] 7576번 - 토마토 (Java, 자바 풀이) 문제 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 문제 설명 문제 풀이 너비 우선 탐색을 활용하면 해결할 수 있는 문제였다. 이 문제의 풀이에서는 해당 노드를 방문했을 때 몇 다리를 걸쳐서 왔는지 체크해야 했기 때문에 visit을 boolean이 아니라 int형으로 만들어서 값을 업데이트하여 확인했다. 코드 import java.util.*; import java.io.*; class Main { static Queue q .. 2022. 12. 30.
[코딩테스트/백준 알고리즘] 1931번 - 회의실 배정 (Java, 자바 풀이) 문제 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 문제 설명 문제 풀이 그리디 알고리즘 문제다. 회의 시간표를 회의 시간이 빨리 끝나는 순으로 정렬한다. 만약 끝나는 시간이 같다면 시작 시간 순으로 정렬한다. 회의 종료 시간을 기록하는 end의 초기 값을 0보다 작은 -1로 초기화한다. 정렬된 회의 시간표의 시작 시간을 end와 비교한다. 만약 회의 시작 시간이 end보다 크거나 같으면 count를 증가시키고 end값을 해당 회의의 종료 시각으로 변경한다. 끝까지 수행하여 답을 도출한다. 코드 import java.io.*; import java.util... 2022. 12. 29.
[코딩테스트/백준 알고리즘] 1697번 - 숨바꼭질 (Java, 자바 풀이) 문제 https://www.acmicpc.net/problem/1697 1697번: 숨바꼭질 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 www.acmicpc.net 문제 설명 문제 풀이 N을 기준으로 N - 1, N +1, N * 2 의 수를 그래프로 만들어서 큐에 넣고 너비우선탐색를 수행한다. 코드 import java.util.*; import java.io.*; class Main { static int[] visit = new int[100001]; static Queue q = new LinkedList(); stat.. 2022. 12. 26.