목록Algorithm/백준 (51)
Dazzling 개발 노트
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bF9TV2/btsGJLmAQDq/ARqe6UoSYskri5K1xNe2Ak/img.png)
[백준] 11055 - 가장 큰 증가하는 부분수열 (Java) 문제 https://www.acmicpc.net/problem/11055 풀이/후기 예전에 풀었던 문제지만, 코테 스터디 문제로 선택되어 다시 풀게 됐다. 문제를 보자마자 dp로 풀어야겠다는 생각이 들었고, 어떻게 구현할지도 대략 그려졌다. 예전에 dp 공부하면서 풀면서도 이걸 어떻게 하라는거지? 했었는데.. 이젠 문제 보자마자 dp로 풀어야겠다, 어떻게 하면 될까? 고민하는 스스로가 아주 뿌듯했다! 비록 초반에 작성한 코드는 오답이었지만, 명확히 이해하고 푼 것 같아 만족스럽다. 코드 import java.io.*; import java.util.*; public class Main { public static void main(String..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/c8JSLC/btsGaYGCwWG/CS51IxStO42rDzohnwhXw0/img.png)
[백준] 1966 -프린터 큐 (Java) 문제 https://www.acmicpc.net/problem/1966 풀이/후기 예전에 풀었던 문제인데, 이번에 스터디 하면서 다시 풀게 됐다. 우선순위 큐를 사용해서 푸는 문제 같은데, 난 이번에 그냥 구현으로 풀었다. 코드가 굉장히 더럽다..ㅎ 코드 package src.Implementation; import java.io.*; import java.util.*; public class Problem1966 { static int T, N, M; public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamRead..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/qoO9Y/btsF5ueUzNc/ybOQiKPuEpQtEYCiunsOuK/img.png)
[백준] 1439 - 뒤집기 (Java) 문제 https://www.acmicpc.net/problem/1439 풀이/후기 연속된 1로 구성된 토큰의 개수와, 연속된 0으로 구성된 토큰의 개수 중 작은쪽을 출력한다. 동일한 방법으로 다르게 풀이했는데, StringTokenizer의 활용도를 새롭게 알았다. 코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); String S = br.readLine(); char[..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/dUhBXK/btsF0HLSnSg/gOuB0KB9jyjQDBtx1eBBkK/img.png)
[백준] 2512 - 예산 (Java) 문제 https://www.acmicpc.net/problem/2512 풀이/후기 이진탐색으로 풀면 된다. 입력을 받을 때 주어진 숫자 중에 가장 큰 값을 max에 넣어준다. mid값을 조정하면서 이진탐색으로 답을 찾아내면 되는데, 탐색 종료 시 max가 M을 초과하지 않으면서 가능한 최대의 상한액을 나타내므로 max를 출력한다. 코드 package BinarySearch; import java.util.*; import java.io.*; public class Problem2512 { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(n..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/bxtBtf/btsFYrX2PUX/fXKW2ZDitf30ZPti73KTK0/img.png)
[백준] 11399 - ATM (Java) 문제 https://www.acmicpc.net/problem/11399 풀이/후기 입력 받은 수를 정렬한 후에 누적합을 더했다. 처음에는 사람별로 시간이 정해진줄알고 정렬을 어떻게 할지 고민했는데 그냥 삽질한거였다 ㅎㅎ; 받은 값 그대로 정렬하면 된다. 코드 package Greedy; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.Arrays; import java.util.StringTokenizer; public class Problem11399_re { public static void main(Strin..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/6lMkM/btszrJW0aRR/AAlgaMXXdh12HItc9eVJpk/img.png)
[백준] 14916 - 거스름돈 (Java) 문제 https://www.acmicpc.net/problem/14916 풀이/후기 그리디 알고리즘을 사용하여 풀이한다. 2원과 5원을 이용해 가장 적은 동전으로 거슬러야 하기 때문에 5원으로 먼저 계산한다. 5로 나누어 떨어지지 않으면 N에서 2원을 빼주면서 cnt를 늘려주는 것이 포인트였던 것 같다. 코드 package Greedy; import java.io.*; public class Problem14916 { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int ..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/GfVpc/btszkng3exv/Nc55Gxk5SDWevF2ysqW3j1/img.png)
[백준] 16926 - 배열 돌리기1 (Java) 문제 https://www.acmicpc.net/problem/16926 풀이/후기 주어지는 배열의 겉부분과 속부분을 나눠서 회전해야 하는 점이 어려웠다. 풀이를 이것저것 찾아보니 보통 회전하는 그룹(ex. 겉부분, 속부분 등)으로 분리한 후 상, 하, 좌, 우를 각각 회전시켜주는 방법이 많았다. 회전시켜주는 방법은 복잡한 방법도 많았지만, 그래프 문제를 풀며 가장 익숙한 dir 배열을 사용해 회전시켰다. 코드 package Implementation; import java.io.*; import java.util.*; public class Problem16926 { static int N, M, R; static int[][] arr; static i..
![](http://i1.daumcdn.net/thumb/C150x150.fwebp.q85/?fname=https://blog.kakaocdn.net/dn/cAVDZa/btsyILBoXGl/PtBSBkBcdHuYMpXe1QeMf0/img.png)
[백준] 14467 - 소가 길을 건너간 이유1 (Java) 문제 https://www.acmicpc.net/problem/14467 풀이/후기 코드 package Implementation; import java.io.*; import java.util.StringTokenizer; public class Problem14467 { public static void main(String[] args) throws IOException{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseInt(br.readLine()); int[] arr = new int[11]; int cnt = 0..