
백준 - 물병 1052
2023. 3. 14. 21:42
알고리즘(BOJ)/Silver
전체 소스 import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); int K = Inte..

백준 - 캠핑 4796
2023. 3. 13. 16:25
알고리즘(BOJ)/Bronze
문제 분석 휴가쓴기한 : V 캠핑장 연속일: P 캠핑장 사용일: L V동안 P가 최대 몇번 반복되는지 부터 파악했다. 그만큼 L을 곱하면 가능일수의 첫번째 합이 구해진다. 다음으로 남은 기한V의수가 L보다 작다면 남은휴가 내내 사용할 수 있다는 의미니까 V를 더해준다 하지만 남은V보다 L이 크다면 남은휴가 동안 L만큼 쓰는게 최대니까 L을 더해준다. 전체 소스 package test; import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(Syste..

백준 - 강의실 배정 11000
2023. 3. 11. 00:05
알고리즘(BOJ)/Gold
문제 분석 1. 처음엔 큐에 배열의 형태로 담았다가 큐에 담긴 모든 수를 비교했었다. 2. 그 다음엔 비교할 대상이 배열과 큐에 담긴 종료시점이라는 것을 알았다. 3. 마지막으로는 큐에 담긴 모든 대상과 비교할 필요없이 우선순위 큐에 담아주면 된다는 것을 알았다. 배열을 정렬하고 우선순위에 담긴 수를 비교하면 된다. 전체 소스 import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int repeat = Integer.par..

백준 - 스네이크버드 16435
2023. 3. 10. 15:17
알고리즘(BOJ)/Silver
문제 풀이 먹을 수 있을 과일을 정렬 후 해당 수가 자신보다 작거나 같으면 size를 1늘린다. 배열의 크기 만큼 반복해준다. 전체 소스 package test; import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine(), " "); int repeat = Integer.parseInt(st.nextToken()); int size..

백준 - A -> B 16953
2023. 3. 9. 14:56
알고리즘(BOJ)/Silver
문제 풀이 출발 숫자에서 도착숫자까지 모든 경우수를 다 해보는 방법밖엔없다 DFS . BFS에서 선택해서 풀이하면되며 타겟수보다 커지면 의미없기 때문에 그 기점을 중심으로 모든 경우의 수를 탐색한다. 뒤에 1 를 넣어주는건 현재수에서 *10 한 후 +1를 하면된다. 전체 소스 package test; import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenize..

백준 - 신입사원 1946
2023. 3. 8. 14:47
알고리즘(BOJ)/Silver
문제 풀이 정렬을 하고 보면 더 쉽게 보인다. 서류 등수가 2등인 사람은 1등인 사람보다 면접 등수가 높으면 탈락이다. 3등은 1등과, 2등의 면접등수보다 높으면 탈락이다. 예제로 정렬하면 1 4 2 3 3 2 4 1 5 5 1 4 2 5 3 6 4 2 5 7 6 1 7 3 이렇게 된다. 전체 소스 package test; import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int casecount = Integer.pa..

백준 - 단어수학 1339
2023. 3. 7. 21:47
알고리즘(BOJ)/Gold
문제 풀이 가장 앞에있는 알파벳부터 자리수 만큼 곱해주면 된다 2번째 예제로 볼 경우 A인 1000*9 F인 110 * 8 E인 101 * 7 C인 10*6 D인 1*5 를 다 더해주면 된다. 전체 소스 package test; import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int repeat = Integer.parseInt(br.readLine()); int[] array = new int[26]; for(int..

백준 - 콘센트 23843
2023. 3. 4. 18:08
알고리즘(BOJ)/Gold
문제 분석 충전이 필요한 기기들을 가장 높은 수부터 정렬한 후 (혹은 우선순위큐) 콘센트 배열에 가장 낮은 수에 넣어준다 7 3 5 4 3 2 1 1 1 이란 예제로 생각해보자 ---------------------- cc[0] : 0 cc[1] : 0 cc[2] : 5 ---------------------- 같거나 가장 낮은수에 넣다보니 맨 밑으로 가졌다 (그냥 작은수로 해도 될듯하다) cc[0] : 0 cc[1] : 4 cc[2] : 5 ---------------------- cc[0] : 3 cc[1] : 4 cc[2] : 5 ---------------------- cc[0] : 3 2 cc[1] : 4 cc[2] : 5 ---------------------- cc[0] : 3 2 cc[1]..

백준 - Passport Control 16288
2023. 3. 3. 15:03
알고리즘(BOJ)/Gold
문제 분석 게이트 크기의 배열을 선언하고 배열에 현재수보다 큰수만 담아준다 2번 케이스를 예로 들어보자 4 1 3 2 5 6 8 9 7 10 ----------------- 배열[0] - 4 배열[1] 배열[2] ----------------- 배열[0] - 4 배열[1] - 1 배열[2] ----------------- 배열[0] - 4 배열[1] - 1 3 배열[2] ----------------- 배열[0] - 4 배열[1] - 1 3 배열[2] - 2 ----------------- 배열[0] - 4 5 배열[1] - 1 3 배열[2] - 2 ----------------- 배열[0] - 4 5 6 배열[1] - 1 3 배열[2] - 2 ----------------- 배열[0] - 4 5 6 8..

백준 - 토너먼트 만들기 2262
2023. 3. 2. 18:40
알고리즘(BOJ)/Gold
문제 분석 가장 낮은 랭크(=가장 높은 수)의 인접한것중에서 또 가장 낮은 랭크랑 대결을 하면된다. 맨앞인 경우에는 바로 뒤랑 비교하고 맨뒤인 경우에는 바로 앞이랑 비교한다. 전체 소스 package test; import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int repeat = Integer.parseInt(br.readLine()); StringTokenizer st = new StringTokenizer(br...