본문 바로가기
반응형

알고리즘/항해99 스터디29

99클럽 코테 스터디 9일차 TIL - 완전탐색 항해99 코테 스터디 9일차 문제인 프로그래머스의 '모음사전'은 모음만을 이용하여 단어 사전을 만들었을 때, 특정 단어의 순서를 구하는 문제다. 난이도는 레벨2이며 완전탐색을 통해 해결할 수 있다. 오늘의 문제 - 모음사전 문제 정보문제 키워드- 완전탐색난이도- Level 2 문제 요약모음 A, E, I, O, U만을 이용해 최대 5글자의 단어 사전을 만들었다. (A ~ UUUUU)이 때, 타겟 단어의 순서를 구하라.ex) AAAAE=6, I=1563 문제 풀이 과정  5글자로 5자리까지 만들 수 있으므로 최대 글자수는 5^5개가 된다. 따라서 완전 탐색을 이용할 수 있다.DFS를 이용하여 단어를 사전 순서대로 하나씩 만들어가다, 타겟 단어를 발견하면 종료하고 순서를 반환한다.코드import java.u.. 2024. 5. 28.
99클럽 코테 스터디 8일차 TIL - 정렬 항해99 코테 스터디 8일차 문제인 LeetCode의 'Orderly Queue'는 주어진 문자열의 앞 k개의 문자 중 하나를 맨 뒤로 보내는 것을 반복했을 때 가장 빠른 문자열을 구하는 문제다. 난이도는 Hard이며 정렬을 통해 해결할 수 있다. 오늘의 문제 - 899번 Orderly Queue 문제 정보문제 키워드- Sort난이도- Hard 문제 요약문자열 s와, 문자열 길이보다 작거나 같은 자연수 k가 주어진다.연산 = (s의 앞부터 k번째 문자 중, 하나를 문자열의 맨 뒤로 보내기)연산을 반복하여 만들 수 있는 사전순으로 가장 빠른 문자열을 구하여라. (연산 반복 횟수에 제한은 없다) 문제 풀이 과정  매우매우 헤맸다. k개의 문자 중 뒤로 보낼 것을 고르는 규칙을 찾기 위해 이런 저런 방법을 사.. 2024. 5. 27.
99클럽 코테 스터디 7일차 TIL - 정렬 항해99 코테 스터디 7일차 문제인 LeetCode의 'Put Marbles in Bags'은 N개의 구슬을 k개의 그룹으로 나눴을 때 무게의 최댓값과 최솟값의 차를 구하는 문제다. 난이도는 Hard이며 정렬을 통해 해결할 수 있다. 오늘의 문제 - Put Marbles in Bags 문제 정보문제 키워드- 정렬난이도- Hard 문제 요약각 구슬의 무게를 나타내는 weights 배열이 주어진다.아래의 규칙에 따라 구슬을 k개의 가방에 나누어 담아라.어떤 가방도 비어있지 않다.i번째 구슬과 j번째 구슬이 같은 가방에 들어있다면, i+1~j-1번째 구슬도 모두 같은 가방에 들어있다.i번째 구슬부터 j번째 구슬까지만 들어있다면, 그 가방의 무게는 weights[i]+weights[j]이다.score = (가방.. 2024. 5. 26.
99클럽 코테 스터디 6일차 TIL - 우선순위큐 항해99 코테 스터디 6일차 문제인 프로그래머스의 '이중우선순위큐'는 최댓값과 최솟값을 둘다 제거 가능한 이중 우선순위큐를 구현하는 문제다. 난이도는 레벨3이며 우선순위큐 2개를 통해 해결할 수 있다. 오늘의 문제 - 이중우선순위큐 문제 정보문제 키워드- Heap난이도- Level 3 문제 요약최댓값도 최솟값도 제거할 수 있는 이중 우선순위큐가 있다.연산의 배열이 주어질 때, 연산을 모두 완료한 후에 남은 최댓값과 최솟값을 구하라. 문제 풀이 과정  PriorityQueue 2개를 만들어서 풀었다. 최댓값이나 최솟값 제거 시에 제거되는 숫자의 인덱스를 저장해서, 반대쪽 큐에서 추후 숫자를 제거할 때 이미 제거된 숫자는 제외하고 연산하도록 하였다.다만 이렇게 풀이하는 경우, 연산의 수가 많아지면 그만큼 제.. 2024. 5. 25.
반응형