java42 백준 14425 문자열 집합 java 자바 이 문제는 해시맵을 사용해서 풀이하면 편리하다. 처름에는 N번째 행까지, M번째 행까지 별도의 HashMap에 넣고 직접 비교를 하려고 했으나. containKey라는 좋은 매소드를 활용하면 입력과 동시에 비교를 하고 카운트를 할 수 있는 점을 발견했다. import java.util.StringTokenizer; import java.util.HashMap; import java.io.BufferedReader; import java.io.InputStreamReader; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStre.. 2024. 1. 23. 백준 10815 숫자 카드 자바 java 이번 문제는 또한 시간내에 해결하는 것이 중요하다. 입력 값의 범위를 고여하면 약 10,000,000 * 500,000이 되므로 일일히 값을 비교하는 방법은 사용할 수 없다. 그렇다면 다른 방법을 생각해보아야한다. 이 부분은 다른 사람의 포스트를 참고하여 만들었다. HashMap를 사용하여 만들어 보자. HashMap는 키를 통해 조회할 때 가지고 있다면 value를 가지고 있지 않다면 null을 반환한다. import java.util.StringTokenizer; import java.util.HashMap; import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.Arrays; public class Main .. 2024. 1. 22. 백준 18870 좌표압축 자바 java 간단해 보이는 문제였으나 등급이 높은 만큼 막히는 부분이 있었던 문제이다. 특히 동일한 값을 제외하는 것이 관건이었다. 첫 번째 방법은 브루트 포스 처럼 값을 하나하나 비교하며 푸는 방법이다. 자기 자신보다 작은 값을 비교하여 리스트에 저장하고 이를 set로 바꾸어 중복된 값을 제거했다. import java.util.Scanner; import java.util.ArrayList; import java.util.Set; import java.util.HashSet; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int N = sc.nextInt(.. 2024. 1. 22. 백준 10814 나이순 정렬 이차원 배열에서의 정렬을 하는 문제이다. 여기서 중요한 점은, 입력받는 첫 번쨰 값은 숫자, 두 번째 값은 문자열이기에 모두 String로 받은 후 정수타입으로 변환해야 한다. 그리고 Comparator 인터페이스를 사용하는 것이 중요하다. 여기서 사용할 수 있는 compare의 특성을 생각해보자. import java.util.Arrays; import java.util.Scanner; import java.util.Comparator; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); sc.nextLine().. 2024. 1. 22. 백준 1181 단어 정렬 이 문제를 해결하는 방식은 기본적으로 다음과 같다. 1. set을 사용하여 중복을 제거한다. 2. set 사용으로 인해 list형식으로 변환된 값을 다시 배열로 바꾼다. 3. 단어 수에 따라 정렬하고 만약 같다면 알패벳 순으로 정렬한다. 시간을 고려하지 않고 코드를 작성한 모습이다. 이해에 도움이 될 것이다. import java.util.Arrays; import java.util.Scanner; import java.util.Set; import java.util.HashSet; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int N = sc.. 2024. 1. 22. 백준 11650 좌표 정렬하기 자바 java 이차원 배열을 정렬하는 문제라고 볼 수 있다. N개의 (x, y)를 정렬하는 것이다. x를 기준으로 우선 정렬하고, x값이 같다면 y를 사용하여 정렬하라는 것이다. 일단 속도를 무시하고 직접적인 방식으로 풀어보았다. import java.util.Scanner; public class Main { public static void main(String[] args) throws Exception { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); int arr[][] = new int[N][2]; for (int i = 0; i < N; i++) { arr[i][0] = sc.nextInt(); arr[i][1] = sc.nextInt(); } /.. 2024. 1. 18. 이전 1 2 3 4 5 6 7 다음