코딩테스트 준비612 [백준] 14425번 - 문자열 집합 [Java] https://www.acmicpc.net/problem/14425 1. 아이디어 Set 자료구조로 간단하게 해결할 수 있다.2. 문제풀이 HashSet에 N개의 문자열을 넣은 후 M개의 문자열이 HashSet에 포함되어 있는지 contains 메서드로 확인하는 방식으로 구현했다.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 S.. 2025. 1. 9. [백준] 2921번 - 도미노 [Java] https://www.acmicpc.net/problem/2921 1. 아이디어 2중 for문으로 간단하게 구현할 수 있다.2. 문제풀이 바깥 for문은 도미노의 윗쪽에 찍히는 점, 안쪽 for문은 도미노의 아랫쪽에 찍히는 점을 세면 된다.윗쪽에 점이 0개일 때 아랫쪽에는 0 ~ N개가 찍힐 수 있고, 윗쪽에 1개일 때 아랫쪽에 1 ~ N개가 찍힐 수 있으므로 이런 규칙을 활용해서 구현했다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(Sys.. 2025. 1. 8. [백준] 10039번 - 평균 점수 [Java] https://www.acmicpc.net/problem/10039 1. 아이디어 Math.max 메서드로 점수가 최소 40점은 되게 하면 간단하게 해결할 수 있다.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 sum = 0; for (int i = 0; i 4. 후기 2025. 1. 8. [백준] 27327번 - 時間 (Hour) [Java] https://www.acmicpc.net/problem/27327 1. 아이디어 주어진 일을 시간으로 바꾸는 문제로 1일 = 24시간으로 간단하게 해결할 수 있다.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()); System.out.println(x * 24); }}4. 후기 2025. 1. 8. [백준] 11728번 - 배열 합치기 [Java] https://www.acmicpc.net/problem/11728 1. 아이디어 정렬된 배열 두 개를 합치는 경우 각 배열의 앞 원소들을 비교하며 추가하면 합쳐진 배열을 따로 정렬하지 않아도 정렬을 유지함을 이용했다.2. 문제풀이 각 배열의 앞 원소를 비교해서 작은 원소를 새로운 배열에 넣고 작았던 원소의 다음 위치을 비교할 원소로 바꿔주는 과정을 두 배열의 모든 원소를 확인할 때까지 반복하면 된다. 구체적 구현으로는 Queue와 투 포인터 알고리즘을 활용했고 Queue는 peek 값이 배열의 앞 원소가 되면서 Queue에서 원소를 제거하면 자동으로 다음 원소를 바라보게 되어 적합하다고 생각했고, 투 포인터 알고리즘은 배열을 그대로 둔 채 포인터의 이동으로 확인을 한다는 점에서 역시 적합하다고 판단했.. 2025. 1. 8. [백준] 11729번 - 하노이 탑 이동 순서 [Java] https://www.acmicpc.net/problem/11729 1. 아이디어 재귀 함수와 StringBuilder를 활용하면 해결할 수 있다.2. 문제풀이 하노이 탑 문제는 대표적인 재귀 문제로 출발 막대, 도착 막대, 나머지 막대로 구분하고 재귀 함수를 구현하면 해결할 수 있다.1 ~ N번까지의 원판을 출발 막대에서 도착 막대로 옮기는 과정은 1 ~ N-1번 원판을 출발 막대에서 나머지 막대로 이동시키고 N번 원판을 출발 막대에서 도착 막대로 옮긴 후 1 ~ N-1번 원판을 나머지 막대에서 도착 막대로 이동시키면 된다. 이때 1 ~ N-1번 원판을 이동시키는 것 역시 1 ~ N-2번 원판을 옮기는 과정으로 이루어진다. 이를 활용하면 3가지 막대 파라미터를 받는 재귀 함수를 작성할 수 있고 Str.. 2025. 1. 8. [백준] 2738번 - 행렬 덧셈 [Java] https://www.acmicpc.net/problem/2738 1. 아이디어 2차원 배열을 활용하면 간단하게 해결할 수 있다.2. 문제풀이 행렬을 2차원 배열로 표현할 수 있는 점을 활용해서 3중 for문으로 행렬 덧셈을 구현했다.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)); BufferedWriter bw = new BufferedWriter(new OutputStre.. 2025. 1. 8. [백준] 20492번 - 세금 [Java] https://www.acmicpc.net/problem/20492 1. 아이디어 나눗셈 연산을 잘 활용하면 간단하게 해결할 수 있다.2. 문제풀이 1번은 N * 78 / 100, 2번은 N * 80 / 100 + N * 20 / 100 * 78 / 100으로 계산해서 구했다.int형으로 출력해야해서 타입 캐스팅을 활용해도 되는데 그냥 N이 1000의 배수라 나눗셈으로만 구현해봤다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.i.. 2025. 1. 8. [백준] 25206번 - 너의 평점은 [Java] https://www.acmicpc.net/problem/25206 1. 아이디어 HashMap을 활용해서 등급에 따른 평점을 간단하게 구할 수 있다.2. 문제풀이 HashMap에 key에 등급, value에 과목평점을 저장한 후 반복문을 돌며 과목 총점과 과목 수를 구한 후 나누는 방식으로 구현했다.과목 등급이 P인 경우만 주의해서 구현하면 된다.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.i.. 2025. 1. 8. [백준] 1546번 - 평균 [Java] https://www.acmicpc.net/problem/1546 1. 아이디어 새로운 평균은 기존 평균 * 최고점 / 100으로 간단하게 구할 수 있다.2. 문제풀이 주어진 입력을 1차원 배열로 받고 정렬해서 최고점을 구하는 방식으로 구현했다.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; int N = Integer.pars.. 2025. 1. 8. [백준] 25305번 - 커트라인 [Java] https://www.acmicpc.net/problem/25305 1. 아이디어 정렬을 활용하면 간단하게 해결할 수 있다.2. 문제풀이 주어진 입력을 1차원 배열로 받고 정렬한 후 K번째에 해당하는 점수를 출력하는 방식으로 구현했다.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. 8. [백준] 25304번 - 영수증 [Java] https://www.acmicpc.net/problem/25304 1. 아이디어 반복문으로 간단하게 해결할 수 있다.2. 문제풀이 반복문으로 물건의 가격과 개수를 합해서 X와 비교하는 방식으로 구현했다.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; int X = Integer.parseInt(br.readLine()); .. 2025. 1. 8. 이전 1 ··· 26 27 28 29 30 31 32 ··· 51 다음