정렬 3

백준 2179번 : 비슷한 단어 [자바]

🧫 문제 분석 ✔️ 출처비슷한 단 골드 4 📖 문제  문자열 정렬 문제다. 급한 마음으로 하니 안풀리다가 생각을 정리하고 설계한다음 풀어보니 바로 풀렸다.O(n^2)으로 풀 수 없을 것 같아서 입력받은 단어들을 저장한 배열과 사전순으로 정렬한 리스트를 만들고, TreeSet으로 풀었다. 주어진 단어들의 접두사 (단어 앞부분 공통적으로 나타나는 부분문자열)가 최대가되는 두쌍을 찾아야한다.  문제는 접두사 길이가 최대인 경우가 여러개일때 앞 인덱스에 있는 쌍을 출력해야한다는 것이다. 따라서 사전순으로 정렬한 리스트를 돌면서 i, i+1 번째 단어의 접두사 길이를 탐색하고, 접두사의 길이가 max 보다 길다면 이전의 max길이였던 단어들을 모두 제거하기 위해 TreeSet을 초기화하고새롭게 갱신하게 해준 ..

baekjoon/String 2025.03.14

백준 1931번 : 회의실 배정 자바

🧫 문제 분석✔️ 출처회의실 배정 실버 1 📖 문제 정렬 문제로 회의가 끝나는 시간을 기준으로 정렬하되 같다면 시작시간을 오름차순으로 정렬해야한다.주의할 점은 끝나는 시간에 바로 다른 회의가 시작할 수 있다는 것이다.  정렬 후 마지막 회의 시간 보다 다음 회의의 시작시간이 크거나 같으면 이는 가능한 회의이므로 마지막 회의시간을 다음 회의가 끝나는 시간으로 바꾼다.   종료시간이 같다면 시작시간을 오름차순 정렬을 해야하는 이유예를 들어보면41 22 24 42 4 이것을 끝나는 시간으로만 정렬했을 경우입력 순서대로 1 22 24 42 4 이대로 들어왔을 것이고 마지막 회의시간은 2 -> 2-> 4로 되고 2 4 일때 마지막 회의시간 = 4 이기에 이 회의는 무시된다. 따라서 잘못된 답을 내놓게 ..

baekjoon/Greedy 2024.08.24

2019 KAKAO BLIND RECRUITMENT 실패율

🔍문제 분석✔️ 출처https://school.programmers.co.kr/learn/courses/30/lessons/42889📖 문제맵을 사용하여 풀이하였다. 또한 키값에 대한 value의 정렬이 필요했다.🔅 문제 풀이import java.util.*;class Solution { public int[] solution(int N, int[] stages) { int[] stage = new int[N+2]; //1:1 대응 int tmp = stages.length; //총 인원수 //인덱스 자체가 스테이지, 값은 인원수 for(int i = 0; i map = new HashMap(); ..

programmers/Kakao 2024.06.27