반응형
문제링크 🚩 https://www.acmicpc.net/problem/1931 1931번: 회의실 배정 (1,4), (5,7), (8,11), (12,14) 를 이용할 수 있다. www.acmicpc.net 📕 문제 접근 📕 - 시작 시간과 끝 시간을 하나의 리스트로 관리하기 위해 Time이라는 클래스를 정의한다 - 종료 시간을 기준으로 정렬을 한다. 종료 시간이 같다면 시작시간이 짧은걸 우선으로 배치한다. - 종료 시간이 빨라야 더 많은 회의를 진행 할 수 있기 때문. 💻 Code 💻 package BOJ; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.uti..
문제링크 🚩 https://www.acmicpc.net/problem/18870 18870번: 좌표 압축 수직선 위에 N개의 좌표 X1, X2, ..., XN이 있다. 이 좌표에 좌표 압축을 적용하려고 한다. Xi를 좌표 압축한 결과 X'i의 값은 Xi > Xj를 만족하는 서로 다른 좌표 Xj의 개수와 같아야 한다. X1, X2, ..., XN에 www.acmicpc.net 📕 문제 접근 📕 1. 해당 문제는 쉽게 크기에 따른 랭킹?(순위)를 지정해주는 프로그램을 작성하는거다 - hashmap을 생성하여 ranking을 지정해줄 맵을 생성한다. - 실제 배열 -> 최종적으로 비교할 배열 , 정렬배열 -> 정렬해서 숫자의 크기를 나열할 배열을 만든다 - 정렬배열을 정렬하여 크기를 비교한다 - 중복되지 ..
문제링크 🚩 https://www.acmicpc.net/problem/14438 14438번: 수열과 쿼리 17 길이가 N인 수열 A1, A2, ..., AN이 주어진다. 이때, 다음 쿼리를 수행하는 프로그램을 작성하시오. 1 i v : Ai를 v로 바꾼다. (1 ≤ i ≤ N, 1 ≤ v ≤ 109) 2 i j : Ai, Ai+1, ..., Aj에서 크기가 가장 작은 값을 www.acmicpc.net 📕 문제 접근 📕 - init 트리를 만들 때 더하거나 빼거나 곱하는 것이 아닌 현재에서 선택 할 수 있는 최소값을 선택하는 로직만 선택한다면 기존 세그먼트 트리 그대로 활용하여 문제를 해결 할 수 있다. 아래 문제와 매우 유사하니 학습용으로 함께 풀어보면 좋을 것 같다. https://www.acmi..
문제링크 🚩 https://www.acmicpc.net/problem/4354 4354번: 문자열 제곱 알파벳 소문자로 이루어진 두 문자열 a와 b가 주어졌을 때, a*b는 두 문자열을 이어붙이는 것을 뜻한다. 예를 들어, a="abc", b="def"일 때, a*b="abcdef"이다. 이러한 이어 붙이는 것을 곱셈으로 생각한다 www.acmicpc.net 📕 문제 접근 📕 - 굉장히 난처했던 문제 였다. - 문제 이해가 어려웠는데 정말 간단하게 설명하자면 ababab에서 최대 접미사 접두사의 반복 길이는 abab로 4이다 - 그치만 해당 문제가 요구하는것은 반복되는 문자열이 몇개의 반복으로 이루어져 있냐는 것이였다. - 예를 들면 ABCD의 경우 반복되는 것 없기에 ABCD의 1제곱이다. - 다음..
문제링크 🚩 https://www.acmicpc.net/problem/1305 1305번: 광고 세준이는 길 한가운데에서 전광판을 쳐다보고 있었다. 전광판에는 광고가 흘러나오고 있었다. 한참을 전광판을 쳐다본 세준이는 이 광고가 의미하는 것이 무엇인지 궁금해지기 시작했다. 전광 www.acmicpc.net 📕 문제 접근 📕 - 해당 문제도 KMP 알고리즘을 사용한다(?). - 개인적인 생각으로는 KMP를 위한 table만 설계하면 끝난다고 생각하여 반쪽짜리 KMP 느낌이 든다. 포인트 1) 광고 문자열은 무한히 반복한다. 2) 무한히 반복하는 문자열 중 일부분만 확인하다. 3) 그광고가 될 수 있는 문자열(무한히 반복하는 문자열)이 가능한 경우 중 가장 짧은 문자열의 길이를 구한다. 문자열에서 접두사..
문제링크 🚩 https://www.acmicpc.net/problem/1786 1786번: 찾기 첫째 줄에, T 중간에 P가 몇 번 나타나는지를 나타내는 음이 아닌 정수를 출력한다. 둘째 줄에는 P가 나타나는 위치를 차례대로 공백으로 구분해 출력한다. 예컨대, T의 i~i+m-1번 문자와 P의 1~m www.acmicpc.net 📕 문제 접근 📕 - 가장 이상적인 KMP문제인 것 같다 - 접미사와 접두사가 같은 영역을 찾기 위한 table을 만들고 - 이를 KMP 알고리즘에 대입하여 해결하면 되는 문제다 - KMP 알고리즘은 해당 포스팅에 자세하게 정리해뒀으니 참고 바란다. https://security-gom.tistory.com/36 KMP -JAVA KMP Algorithm : 문자열 검색 알고..