반응형
문제링크 🚩 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..
순열 알고리즘에서 "순열"은 주어진 원소들을 모든 가능한 순서대로 배열하는 경우의 수를 의미합니다. 다시 말해, 주어진 원소들의 순서를 변경하여 만들 수 있는 모든 경우의 배열을 나타내는 것입니다. 예를 들어, 3개의 원소 A, B, C에 대한 순열은 ABC, ACB, BAC, BCA, CAB, CBA와 같이 가능한 모든 순서의 배열을 나타냅니다. 순열은 조합과 함께 주어진 원소들의 가능한 조합을 나타내는 개념입니다. 순열은 다양한 문제와 알고리즘에서 사용되며, 주로 다음과 같은 분야에서 활용됩니다: 조합 최적화 문제: 문제의 조건에 따라 원소들의 순서가 중요한 경우에 순열을 활용하여 최적화 문제를 해결할 수 있습니다. 문자열 조합: 문자열 내의 문자들의 모든 가능한 배열을 생성하거나 검사하는 작업에 활..
문제링크 🚩 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제곱이다. - 다음..