본문 바로가기

코딩테스트 준비624

[백준] 10699번 - 오늘 날짜 [Java] https://www.acmicpc.net/problem/10699 1.  아이디어 오늘 날짜를 그냥 형식에 맞게 출력하면 된다.2. 문제풀이 아이디어 그대로 구현했다.3. 코드 public class Main { public static void main(String[] args) { System.out.println("2025-01-15"); }}4. 후기 2025. 1. 15.
[백준] 7287번 - 등록 [Java] https://www.acmicpc.net/problem/7287 1.  아이디어 본인이 맞은 문제 수와 아이디를 그냥 출력하면 된다.2. 문제풀이 아이디어 그대로 구현했다.3. 코드 public class Main { public static void main(String[] args) { System.out.println(601); System.out.println("qwera1997"); }}4. 후기 2025. 1. 15.
[백준] 30030번 - 스위트콘 가격 구하기 [Java] https://www.acmicpc.net/problem/30030 1.  아이디어 부가가치세가 없는 원래 가격은 B / 11 * 10 이 된다.2. 문제풀이 아이디어 그대로 구현했다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int B = Integer.parseInt(br.readLine()); System.out.println(B / 11 * 10); }}4. 후기 2025. 1. 15.
[백준] 31654번 - Adding Trouble [Java] https://www.acmicpc.net/problem/31654 1.  아이디어 A + B = C면 correct! 아니면 wrong!을 출력하는 문제로 조건문으로 간단하게 해결할 수 있다.2. 문제풀이 아이디어 그대로 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()).. 2025. 1. 15.
[백준] 31614번 - 分 (Minutes) [Java] https://www.acmicpc.net/problem/31614 1.  아이디어 시와 분을 주고 총 분을 구하는 문제로 1시간 = 60분으로 간단하게 해결할 수 있다.2. 문제풀이 아이디어 그대로 구현했다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int H = Integer.parseInt(br.readLine()); int M = Integer.parseInt(br.readLine()).. 2025. 1. 15.
[백준] 31611번 - 火曜日 (Tuesday) [Java] https://www.acmicpc.net/problem/31611 1.  아이디어 오늘이 일요일일 때 x일 후가 화요일이면 1, 아니면 0을 출력하는 문제로 7일 단위로 요일이 돌아오는 것을 활용하면 간단하게 해결할 수 있다.2. 문제풀이 아이디어 그대로 구현했다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int x = Integer.parseInt(br.readLine()); if (x %.. 2025. 1. 15.
[백준] 31429번 - SUAPC 2023 Summer [Java] https://www.acmicpc.net/problem/31429 1.  아이디어 if else if else 조건 분기를 통해 간단하게 해결할 수 있다.2. 문제풀이 아이디어 그대로 구현했다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); if (N == 1) System.out.println("12 1600"); .. 2025. 1. 15.
[백준] 22869번 - 징검다리 건너기 (small) [Java] https://www.acmicpc.net/problem/22869 1.  아이디어 BFS, DFS, 다이나믹 프로그래밍 3가지 방법으로 해결했다.2. 문제풀이 - BFS해당 문제는 각 돌을 노드로 이동할 수 있는 돌에는 간선을 연결한다 했을 때 1번 노드에서 N번 노드를 방문할 수 있는지 BFS 알고리즘으로 파악할 수 있다. 이때 항상 오른쪽으로만 이동해야 하므로 유방향 간선 그래프가 됨에 주의해야 한다. - DFS1번 돌부터 시작하며 재귀는 현재 돌보다 숫자가 큰 돌들을 비교하며 방문할 수 있는 돌이면 방문하는 과정을 반복하고 방문 체크를 해줬다. 이후 N번 돌이 방문 체크가 되어있는지 확인하면 간단하게 구현할 수 있다. - 다이나믹 프로그래밍dp 배열은 갈 수 있는 돌을 체크한다. 1번 돌부터 반복.. 2025. 1. 15.
[백준] 17128번 - 소가 정보섬에 올라온 이유 [Java] https://www.acmicpc.net/problem/17128 1.  아이디어 다이나믹 프로그래밍을 활용해 합을 미리 구하고 변경하는 방식으로 해결했다.2. 문제풀이 주어진 소들에 대해 4마리의 스티커의 곱을 번호가 작은 소와 매핑시킨 dp 배열을 만든 후 dp 배열의 합을 구했다. 이후 변경할 소의 번호가 주어지면 dp 배열에서 변경해야하는 4마리 점수 4 그룹을 소의 번호로 바로 알 수 있다. 변경은 부호만 바꾸면 되며 부호 변경 후 이전에 구한 dp 배열의 합에서 변경치를 고려해서 수정해주면 된다. 이때 부호가 변경되는 실제 합은 2배 차이가 나게 된다.3. 코드 import java.io.*;import java.util.*;public class Main { public static .. 2025. 1. 15.
[백준] 14394번 - 9-퍼즐 [Java] https://www.acmicpc.net/problem/14394 1.  아이디어 9-퍼즐은 하나의 빈칸을 활용해 모든 배치를 만들 수 있다.2. 문제풀이 각 조각의 배치는 퍼즐의 이동으로 전부 만들어 낼 수 있어서 게임을 풀 수 없는 경우는 색깔의 개수가 다를 때 뿐인 점을 활용해서 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); char[] input1 = br... 2025. 1. 15.
[백준] 2847번 - 게임을 만든 동준이 [Java] https://www.acmicpc.net/problem/2847 1.  아이디어 주어진 점수가 오름차순으로 이어지는 최소 변경은 주어진 점수를 뒤에서부터 돌며 변경하면 한번에 구할 수 있다.2. 문제풀이 주어진 입력을 배열로 받은 후 역순으로 순회하며 오름차순이 아닌 두 수를 발견하면 오름차순으로 변경하고 변경값을 누적해서 더하는 방식으로 구현했다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N =.. 2025. 1. 15.
[백준] 2756번 - 다트 [Java] https://www.acmicpc.net/problem/2756 1.  아이디어 2차원 평면에서 두 점 사이의 거리 공식을 활용하면 간단하게 해결할 수 있다.2. 문제풀이 다트 위치가 좌표로 주어지는데 Math.sqrt 메서드와 Math.pow 메서드로 두 점 사이의 거리를 구할 수 있으므로 이를 활용해 구현했다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Buffered.. 2025. 1. 15.