백준 골드5

    [백준, BOJ 9024] 두 수의 합 (java)

    https://www.acmicpc.net/problem/9024메모리: 231,292 KB , 시간: 2,072 ms사용 알고리즘: 정렬, 이분 탐색, 두 포인터처음엔 TreeSet으로 K - arr[i]에 해당하는 수가 있는지(contains) 검사하고,없다면 큰 수 중 가장 작은 수(higher)와 작은 수 중 가장 큰 수(lower)를 검사해서 구했었다.-> 메모리 초과 그다음 이분 탐색으로 K - arr[i]보다 작은 수 중 가장 큰 수를 구하고, 이분 탐색으로 구한 수와 그 수보다 큰 수 중 가장 작은 수를 비교하여 구했다.정답은 뜨는데, 주석 쓰고 다시 돌렸더니 메모리 초과... 같은 코드 다시 돌렸는데 또 정답약간 불안 불안한 듯.. 문제 풀고 투 포인터로 풀 수 있다는 거 알고 투 포인터..

    [백준, BOJ 20168] 골목 대장 호석 - 기능성 (java)

    https://www.acmicpc.net/problem/20168메모리: 14,232 KB , 시간: 108 ms사용 알고리즘: 데이크스트라, 그래프 이론, 최단 경로양방향 통행이니 무한 루프에 빠지지 않게 visited 배열로 체크를 했다.A에서 i로 오는 방법이 여러 가지가 있을 수 있는데,visited 배열을 확인하여 이전에 확인한 방법보다 최대 비용이 작을 때나, 총 비용이 작을 경우에만 i에서 B로 가는 방법을 다시 확인해준다.import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.ArrayList;import java.util.PriorityQueue;import java.util.StringTokeniz..

    [백준, BOJ 6443] 애너그램 (java)

    https://www.acmicpc.net/problem/6443메모리: 34,256 KB , 시간: 496 ms사용 알고리즘: 백트래킹, 문자열입력받은 문자열에서 사용한 문자의 개수를 담는 visited 배열을 만들어,인덱스에 해당하는 문자가 몇 개 사용됐는지 체크해준다. combi 메소드에서 백트래킹을 통해 현재 사용할 수 있는 문자 중 사전 순으로 빠른 문자부터 스택에 담아주고,사용할 수 있는 문자 개수를 줄여주며 애너그램 조합을 구해주는 방식을 사용했다.import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Stack;public class Main { static char[] string; stat..

    [백준, BOJ 1092] 배 (java)

    https://www.acmicpc.net/problem/1092메모리: 16,204 KB , 시간: 156 ms사용 알고리즘: 그리디 알고리즘, 정렬import java.io.BufferedReader;import java.io.InputStreamReader;import java.util.Arrays;import java.util.Collections;import java.util.StringTokenizer;public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); ..

    [백준, BOJ 5557] 1학년 (java)

    https://www.acmicpc.net/problem/5557 5557번: 1학년 상근이가 1학년 때, 덧셈, 뺄셈을 매우 좋아했다. 상근이는 숫자가 줄 지어있는 것을 보기만 하면, 마지막 두 숫자 사이에 '='을 넣고, 나머지 숫자 사이에는 '+' 또는 '-'를 넣어 등식을 만들며 놀 www.acmicpc.net 메모리: 14,300 KB , 시간: 128 ms 사용 알고리즘: 다이나믹 프로그래밍 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.HashMap; import java.util.StringTokenizer; public class Main { public static void main(St..

    [백준, BOJ 1174] 줄어드는 수 (java)

    https://www.acmicpc.net/problem/1174 1174번: 줄어드는 수 음이 아닌 정수를 십진법으로 표기했을 때, 왼쪽에서부터 자리수가 감소할 때, 그 수를 줄어드는 수라고 한다. 예를 들어, 321와 950은 줄어드는 수이고, 322와 958은 아니다. N번째로 작은 줄어드는 www.acmicpc.net 메모리: 14,228 KB , 시간: 132 ms 사용 알고리즘: 백트래킹, 브루트포스 알고리즘 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; public class Main { public static void main(String[] args) throws Ex..

    [백준, BOJ 9084] 동전 (java)

    https://www.acmicpc.net/problem/9084 9084번: 동전 우리나라 화폐단위, 특히 동전에는 1원, 5원, 10원, 50원, 100원, 500원이 있다. 이 동전들로는 정수의 금액을 만들 수 있으며 그 방법도 여러 가지가 있을 수 있다. 예를 들어, 30원을 만들기 위해서는 www.acmicpc.net 메모리: 20,308 KB , 시간: 192 ms 사용 알고리즘: 다이나믹 프로그래밍, 배낭 문제 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) t..

    [백준, BOJ 2866] 문자열 잘라내기 (java)

    https://www.acmicpc.net/problem/2866 2866번: 문자열 잘라내기 첫 번째 줄에는 테이블의 행의 개수와 열의 개수인 R과 C가 주어진다. (2 ≤ R, C ≤ 1000) 이후 R줄에 걸쳐서 C개의 알파벳 소문자가 주어진다. 가장 처음에 주어지는 테이블에는 열을 읽어서 문자 www.acmicpc.net 메모리: 305,588 KB , 시간: 1,748 ms 사용 알고리즘: 자료 구조, 해시를 사용한 집합과 맵, 문자열 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.HashSet; import java.util.StringTokenizer; public class Main { pu..

    [백준, BOJ 2660] 회장뽑기 (java)

    https://www.acmicpc.net/problem/2660 2660번: 회장뽑기 입력의 첫째 줄에는 회원의 수가 있다. 단, 회원의 수는 50명을 넘지 않는다. 둘째 줄 이후로는 한 줄에 두 개의 회원번호가 있는데, 이것은 두 회원이 서로 친구임을 나타낸다. 회원번호는 1부터 www.acmicpc.net 메모리: 16,132 KB , 시간: 156 ms 사용 알고리즘: 플로이드-워셜, 그래프 이론, 그래프 탐색, 최단 경로 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.*; public class Main { public static void main(String[] args) throws Exce..

    [백준, BOJ 5972] 택배 배송 (java)

    https://www.acmicpc.net/problem/5972 5972번: 택배 배송 농부 현서는 농부 찬홍이에게 택배를 배달해줘야 합니다. 그리고 지금, 갈 준비를 하고 있습니다. 평화롭게 가려면 가는 길에 만나는 모든 소들에게 맛있는 여물을 줘야 합니다. 물론 현서는 www.acmicpc.net 메모리: 38,660 KB , 시간: 428 ms 사용 알고리즘: 데이크스트라, 그래프 이론, 최단 경로 import java.io.BufferedReader; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.Arrays; import java.util.PriorityQueue; import java.util.St..