코딩테스트 준비627 [백준] 1026번 - 보물 [Java] https://www.acmicpc.net/problem/1026 1. 아이디어 S의 최솟값은 작은 수와 큰 수의 곱의 합으로 이루어졌을 때라는 점을 활용한다.2. 문제풀이 두 배열에서 가장 큰 수와 가장 작은 수를 매칭시키고 다음으로 큰 수와 다음으로 작은 수를 매칭시키는 과정을 반복하면 되므로 두 배열을 정렬한 후 인덱스를 하나는 정방향, 하나는 역방향으로 순회하며 곱해서 최솟값을 구해준다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new .. 2024. 12. 2. [백준] 11047번 - 동전 0 [Java] https://www.acmicpc.net/problem/11047 1. 아이디어 필요한 동전이 최소가 되려면 가장 단위가 큰 동전부터 최대로 사용하는 걸 반복하면 된다.2. 문제풀이 동전의 가치가 오름차순으로 주어지는데 나중에 개수를 셀 때 향상된 for문으로 계산하기 위해 내림차순이 되게 배열에 저장한다. 이후 배열을 순회하며 단위가 큰 동전을 최대한 사용하고 동전을 사용한만큼 남은 금액을 갱신해주는 과정을 반복하면 된다.3. 코드 import java.io.*;import java.util.*;public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new B.. 2024. 12. 2. [백준] 10820번 - 문자열 분석 [Java] https://www.acmicpc.net/problem/10820 1. 아이디어 문자열에 포함된 소문자, 대문자, 숫자, 공백을 구분해서 개수를 구해야 하는데 이때 각각의 아스키 코드로 구분할 수 있는 점을 활용했다.2. 문제풀이 아스키 코드 문자의 개수를 세는 카운팅 배열을 활용해서 각 문자의 개수를 전부 세고 이후 해당 범위의 개수의 합을 구하는 방식으로 구현했다. 카운팅 배열을 그냥 소문자, 대문자, 숫자, 공백 이렇게 4가지만 셀 수 있게 만들고 카운팅 배열에 넣을 때 조건을 걸어서 해결할 수도 있는데 이 방식이 가독성이 더 좋을 것 같았다.3. 코드 import java.io.*;public class Main { public static void main(String[] args) t.. 2024. 12. 2. 이전 1 ··· 50 51 52 53 다음