백준 8

[백준] 1374 강의실

https://www.acmicpc.net/problem/1374 풀이구하고자 하는 것 : 필요한 최소 강의실 개수 해당 값을 구하기 위해 우선 시작 순서가 빠른 순서로 정렬 만약 시작 시간이 같다면 끝나는 시간이 더 빠른 걸로 정렬 no시작 시간종료 시간3214138562086272713412186152172025 강의실이 필요한 경우는이전 강의 종료 시간 > 다음 강의 시작 시간해당 경우에 강의실이 추가로 필요하다. 위 예제로 한번 천천히 보자 3번 강의(2 - 14)는 1번 강의실을 사용한다.1번 강의(3 - 8)는 1번 강의실이 이미 사용중이므로 2번 강의실에서 진행5번 강의(6 - 20) 또한 1,2번 강의실이 모두 강의 진행 중이므로 3번 강의실에서 진행 이런식으로 가다가 4번 강의(12 - ..

개발/PS 2024.11.05

[백준] 1038 감소하는 수

https://www.acmicpc.net/problem/1038 풀이찾고자 하는 값은 N 번째 감소하는 수를 찾아내면 된다. N번째 감소하는 수를 찾는 법은 굉장히 간단하다. 1~9까지 각 숫자로 시작하는 경우에서 나올 수 있는 값들을 찾으면 된다. 예시를 들어보면 가장 큰 자릿수가 2라고 했을 때  2, 20, 21, 210 이런 값들을 구해 나가면 된다.  해당 값들은 재귀를 통해서 찾아낼 수 있다.  % 10을 하는 이유는 해당 값의 1의 자리 수 다음으로 올 수 있는 값의 범위를 알아야 하기 때문이다. 예시로 num = 543일 경우 1의 자리 3 다음으로 올 수 있는 경우는 0,1,2재귀(int num) { for(int i = 0; i  전체 코드import java.io.BufferedRe..

개발/PS 2024.11.02

[백준] 6236 용돈관리

https://www.acmicpc.net/problem/6236 6236번: 용돈 관리현우는 용돈을 효율적으로 활용하기 위해 계획을 짜기로 하였다. 현우는 앞으로 N일 동안 자신이 사용할 금액을 계산하였고, 돈을 펑펑 쓰지 않기 위해 정확히 M번만 통장에서 돈을 빼서 쓰기로www.acmicpc.net문제현우는 용돈을 효율적으로 활용하기 위해 계획을 짜기로 하였다. 현우는 앞으로 N일 동안 자신이 사용할 금액을 계산하였고, 돈을 펑펑 쓰지 않기 위해 정확히 M번만 통장에서 돈을 빼서 쓰기로 하였다. 현우는 통장에서 K원을 인출하며, 통장에서 뺀 돈으로 하루를 보낼 수 있으면 그대로 사용하고, 모자라게 되면 남은 금액은 통장에 집어넣고 다시 K원을 인출한다. 다만 현우는 M이라는 숫자를 좋아하기 때문에, ..

개발/PS 2024.02.16

[백준] 2751 병합정렬

https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다.www.acmicpc.net풀이해당 문제는 단순 정렬 문제이다. 하지만 정렬에는 종류가 아주 많다는거^^... 병합정렬로 풀이를 제출하면서 이전에 제출 기록이 있길래 코드를 살짝 봤더니...핰ㅋㅋㅋㅋㅋㅋㅋ그냥 ArrayList로 입력받은 값들을 넣은 다음 Collection.sort로 아주 간단하게 해결해버렸다...ㅎㅎ 편함을 추구한 과거의 나 반성하자 아무튼 병합정렬은 무엇이냐 하면 수열이 있을 때 중간 값을 기준으..

개발/PS 2023.10.25

[백준]괄호(java)

https://www.acmicpc.net/problem/9012 9012번: 괄호 괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고 www.acmicpc.net 이 문제는 스택을 활용한 가아아아아아장 대표적인 문제다. 코드에 주석으로 각 라인이 어떤 것을 의미하는지 달아놨다, public static String solution(String str) { String result = "YES"; //스택 선언 Stack stack = new Stack(); for (char x : str.toCharArray()) { //해당..

개발/PS 2023.06.29

[백준]1032번(java)

문제 시작 -> 실행 -> cmd를 쳐보자. 검정 화면이 눈에 보인다. 여기서 dir이라고 치면 그 디렉토리에 있는 서브디렉토리와 파일이 모두 나온다. 이때 원하는 파일을 찾으려면 다음과 같이 하면 된다. dir *.exe라고 치면 확장자가 exe인 파일이 다 나온다. "dir 패턴"과 같이 치면 그 패턴에 맞는 파일만 검색 결과로 나온다. 예를 들어, dir a?b.exe라고 검색하면 파일명의 첫 번째 글자가 a이고, 세 번째 글자가 b이고, 확장자가 exe인 것이 모두 나온다. 이때 두 번째 문자는 아무거나 나와도 된다. 예를 들어, acb.exe, aab.exe, apb.exe가 나온다. 이 문제는 검색 결과가 먼저 주어졌을 때, 패턴으로 뭘 쳐야 그 결과가 나오는지를 출력하는 문제이다. 패턴에는 ..

개발/PS 2023.06.27