Algorithm/Java

Algorithm/Java

[백준] 17219 비밀번호 찾기

https://www.acmicpc.net/problem/17219import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.HashMap;import java.util.StringTokenizer;public class Main { public void solution() throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringBuilder sb = new StringBuilder(); StringTokenizer st = new StringTokenizer(..

Algorithm/Java

[백준] 5525 IOIOI

https://www.acmicpc.net/problem/5525두 번째 케이스는 시간초과로 50점을 받았다ㅠㅠimport java.io.BufferedReader;import java.io.InputStreamReader;public class Main { public void solution() throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int n = Integer.parseInt(br.readLine()); int m = Integer.parseInt(br.readLine()); String str = br.readLine(..

Algorithm/Java

[백준] 1012 유기농 배추

https://www.acmicpc.net/problem/1012- 스택에 좌표들을 넣으면서 배추들의 무리가 어디까지인지 파악  -> 배추 군집의 개수를 센다 - 배추 무리를 찾는 거 자체가 왼->오, 위-> 아래 방향으로 이뤄지기 때문에 이쪽 방향으로 움직이는 무브는 필요 없음.- 필요함!! 위쪽에서 연결되어서 아래로 내려갔다가 왼쪽으로 가거나 하는 상황들이 있다!import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayDeque;import java.util.Deque;import java.util.StringTokenizer;public class Main { public void solution()..

Algorithm/Java

[백준] 1003 피보나치 함수

- N번째 피보나치 수를 구할 때, N의 범위가 40으로 제한되어있다는 점을 이용하자.- 우선적으로 피보나치 수를 반복문을 사용하여 cnts[i][0] = cnts[i-1][0] + cnts[i-2][0]; 와 같이 모두 구해둔 후, 입력받은 각 N을 cnts 배열에서 찾아서 출력할 StringBuilder에 값을 더해준다.- 모든 N에 대해서 입력이 들어올 때마다 피보나치 수를 구하게 되면, 시간 초과가 되기 때문에 미리 구해둔 후 배열에서 값을 찾아야 한다! import java.io.BufferedReader;import java.io.InputStreamReader;public class Main { public void solution() throws Exception{ Buf..

Algorithm/Java

[백준] 1764 듣보잡

https://acmicpc.net/problem/1764- 쓰던 대로 HashMap써서 일단 듣지 못한 사람들을 검색하기 쉽게 저장해두고, 보지 못한 사람에서 검색 결과가 있으면 List에 넣고 마지막에 sort 돌린 후 출력하면 된다.import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.*;public class Main { public void solution() throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new String..

Algorithm/Java

[백준] 1463 1로 만들기

https://www.acmicpc.net/problem/1463- DFS를 하되, 2나 3 이상이면 무조건 빼는 것보다 나누는 것이 빠르므로 2, 3의 배수가 될 때까지 1씩 뺀 후 나눠버린다.- 수행 후 가장 최소의 연산 값을 출력import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayDeque;import java.util.Deque;import java.util.Queue;public class Main { static int cnt; public void solution() throws Exception{ BufferedReader br = new BufferedReader(n..

Algorithm/Java

[백준] 11659 구간 합 구하기4

https://www.acmicpc.net/problem/11659- 일반적으로 반복문을 통해 더해가며 푸는 것은 68퍼센트에서 시간초과가 나기 때문에 다른 방법이 필요하다.- 인덱스 i 부터 j까지의 합은 인덱스 1 ~ j까지의 합에서 인덱스 1 ~ i-1까지의 합을 뺀 것과 같다는 점을 이용하자.import java.io.BufferedReader;import java.io.BufferedWriter;import java.io.InputStreamReader;import java.io.OutputStreamWriter;import java.util.Arrays;import java.util.StringTokenizer;public class Main { static BufferedWriter b..

Algorithm/Java

[백준] 11723 집합

https://www.acmicpc.net/problem/11723- S를 사용할 때, 길이 20짜리의 boolean 배열로 false일때는 값이 없는 것으로, true일때는 값이 있는 것으로 설정하였다.import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.StringTokenizer;public class Main { public void solution() throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int m = Integer.parseInt(br.readLine..

Algorithm/Java

[백준] 1620

https://www.acmicpc.net/problem/1620- 이름을 통한 순서와, 순서를 통한 이름 출력 모두 가능해야 하다.- 따라서 그냥 HashMap을 무식하게 두 개 사용하여, 순서-이름, 이름-순서 두 쌍의 키-밸류로 구성하여, 항상 O(1) 시간복잡도로 검색 가능하게 했다.- 숫자인지 판별은 정규식을 사용하여 숫자로만 이루어졌을 때 순서-이름 HashMap을 사용하여 해당 순서의 이름을 검색했다.import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.HashMap;import java.util.StringTokenizer;public class Main { ..

Algorithm/Java

[백준] 10816 숫자 카드 2

https://www.acmicpc.net/problem/10816- 숫자 카드에 적혀있는 수는 int 범위이기 때문에, 키-밸류 모두 int형인 hashmap을 사용하면 해당 숫자의 카드 개수를 O(1)의 시간복잡도로 찾을 수 있다.- 카드를 소지하고 있지 않을 때, 개수는 0이라고 출력해주어야 하기 때문에 카드의 개수를 찾을 때에도 hashmap의 getOrDefault 함수를 사용해야 한다.import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.HashMap;public class Main { public void solution() throws Exception{..

yoursin
'Algorithm/Java' 카테고리의 글 목록 (6 Page)