Java
-
[Java] ComparatorJava 2023. 12. 3. 18:16
Comparator를 사용하여 문자열 리스트를 다양한 방식으로 정렬할 수 있다. 1. 역순으로 정렬 Collections.sort(list, Comparator.reverseOrder()); 2. 문자열의 길이에 따라 정렬 Collections.sort(list, Comparator.comparingInt(String::length)); 2. 대소문자를 구분하지 않고 알파벳 순으로 정렬 Collections.sort(list, String.CASE_INSENSITIVE_ORDER); 2. 문자열의 길이에 따라 정렬 Collections.sort(list, Comparator.comparingInt(Integer::parseInt)); import java.util.ArrayList; import java..
-
[Baekjoon] 17219번 비밀번호 찾기 (Java)Java/Baekjoon 2022. 10. 3. 14:30
Map을 다룰 줄 안다면 누구나 풀 수 있는 쉬운 문제이다. 예제 입력1 16 4 noj.am IU acmicpc.net UAENA startlink.io THEKINGOD google.com ZEZE nate.com VOICEMAIL naver.com REDQUEEN daum.net MODERNTIMES utube.com BLACKOUT zum.com LASTFANTASY dreamwiz.com RAINDROP hanyang.ac.kr SOMEDAY dhlottery.co.kr BOO duksoo.hs.kr HAVANA hanyang-u.ms.kr OBLIVIATE yd.es.kr LOVEATTACK mcc.hanyang.ac.kr ADREAMER startlink.io acmicpc.net noj.a..
-
[Baekjoon] 11399번 ATM (Java)Java/Baekjoon 2022. 10. 3. 14:18
예제 입력1 5 3 1 4 3 2 예제 출력1 32 import java.util.*; public class Main { public static void main(String[] args){ Scanner scan = new Scanner(System.in); int num = Integer.parseInt(scan.nextLine()); ArrayList arr = new ArrayList(); String[] numArr = scan.nextLine().split(" "); for(int i = 0; i < num; i++){ int x = Integer.parseInt(numArr[i]); arr.add(x); } Collections.sort(arr); // 오름차순으로 정렬 int add =..
-
[Baekjoon] 11047번 동전 0 (Java)Java/Baekjoon 2022. 10. 3. 14:01
생각보다 정말 쉬운 문제였다. 시간 초과에 자주 걸려서 이번에도 시간이 초과될까봐 걱정했는데 다행히 한 번에 통과했다. 예제 입력1 10 4200 1 5 10 50 100 500 1000 5000 10000 50000 예제 출력1 6 예제 입력2 10 4790 1 5 10 50 100 500 1000 5000 10000 50000 예제 출력2 12 import java.util.*; public class Main { public static void main(String[] args){ Scanner scan = new Scanner(System.in); String[] num = scan.nextLine().split(" "); ArrayList arr = new ArrayList(); for(int..
-
[Baekjoon] 1764번 듣보잡 (Java)Java/Baekjoon 2022. 10. 2. 20:58
사실 처음에 문제 이해를 잘 못해서 시간이 조금 걸렸었다.. 출력 첫줄 숫자는 듣도 못한 사람에 존재하는 사람 수, 그 다음 줄부터는 듣도 못한 사람에 존재하는 사람 이름을 사전순으로 출력한 것이다. baesangwook이 ohhenrie보다 사전적으로 앞에 있기 때문에 ohhenire보다 baesangwook을 먼저 출력 예제 입력1 3 4 ohhenrie charlie baesangwook obama baesangwook ohhenrie clinton 예제 출력1 2 baesangwook ohhenrie import java.util.*; public class Main { public static void main(String[] args){ Scanner scan = new Scanner(Syst..
-
[Baekjoon] 1620번 나는야 포켓몬 마스터 이다솜 (Java)Java/Baekjoon 2022. 10. 2. 20:20
처음에 HashMap만 사용해서 value값으로 key값을 찾으려다 보니 반복문을 너무 많이 돌려서 시간 초과가 났다. 이를 해결하기 위해서 String 배열을 만들어서 숫자로 포켓몬 이름을 물어볼 경우 해당 인덱스에서 포켓몬 이름을 찾아냈더니 시간 초과가 해결되었다. 예제 입력 26 5 Bulbasaur Ivysaur Venusaur Charmander Charmeleon Charizard Squirtle Wartortle Blastoise Caterpie Metapod Butterfree Weedle Kakuna Beedrill Pidgey Pidgeotto Pidgeot Rattata Raticate Spearow Fearow Ekans Arbok Pikachu Raichu 25 Raichu 3 P..
-
[Baekjoon] 11723번 집합 (Java)Java/Baekjoon 2022. 10. 2. 19:40
굉장히 쉬운 문제였는데,,, 시간초과가 나와서 당황한 문제였다.. 알고리즘 분류에 비트마스킹이 써있었는데, 그게 뭔지 잘 모르겠어서,,, HashSet으로 풀었다. 예제 26 add 1 add 2 check 1 check 2 check 3 remove 2 check 1 check 2 toggle 3 check 1 check 2 check 3 check 4 all check 10 check 20 toggle 10 remove 20 check 10 check 20 empty check 1 toggle 1 check 1 toggle 1 check 1 출력 1 1 0 1 0 1 0 1 0 1 1 0 0 0 1 0 처음에 check 연산을 할 때마다 출력해주는 코드로 작성했었다. 계속 시간 초과가 나길래 아무리 ..
-
[Java] BigInteger 다루기Java 2022. 10. 2. 17:46
자바에서는 보통 int와 long을 사용하여 정수를 표현한다. 하지만 int와 long으로 표현할 수 있는 값의 크기에는 한계가 있다. 이를 해결하기 위해서 자바에서는 BigInteger 클래스를 사용한다. BigInteger 선언 BigInteger big = new BigInteger("100"); BigInteger big2 = new BigInteger("2"); BigInteger 사칙연산 System.out.println("더하기: " + big.add(big2)); System.out.println("빼기: " + big.subtract(big2)); System.out.println("나누기: " + big.divide(big2)); System.out.println("곱하기: " + bi..