-
Notifications
You must be signed in to change notification settings - Fork 0
Open
Labels
풀이미흡제대로 풀이하지 못함.제대로 풀이하지 못함.
Description
⚠️ 나의 풀이
Set을 이용해 중복 제거하여 필요한 최소 보석 개수 계산- for문을 2번 돌거나 while문을 돌면서 범위에 존재하는 보석의 조합이
Set을 통해 중복 제거한 보석 조합과 일치하는지 비교 - 일치하면 해당 시작, 끝 index를 answer에 담아 return
=> 정확성에서 2개 문제 시간 초과, 효율성 테스트 통과 못함
❗️ 오답 원인 분석
- 이중 for문으로 해결할 수 없음 : gems 배열 크기 최대 10만
Set에 담은 배열을 비교하기보다 각 요소를 count해서 모든 보석의count > 0인지 확인하는 것이 더 효율적!- 이런 문제는 투포인터 알고리즘(슬라이딩 윈도우 알고리즘) 을 이용해 풀 수 있음
🔑 풀이 핵심
*투포인터 알고리즘(슬라이딩 윈도우 알고리즘)
어떤 특정 조건을 만족하는 연속 구간을 구할 때 O(N) 으로 풀 수 있도록 도와주는 알고리즘
- 두 개의 포인터
l(left),r(right)를 가지고 각각을 조건에 따라 증가시켜나가면서 확인하는 방법 - left, right 둘 중 하나라도 범위를 벗어나면 탐색 종료(그러나 본 문제에서는 right만 체크해도 됨)
Map 객체 장점 :
size속성으로 객체 크기를 쉽게 확인 가능- 데이터 추가, 삭제 시 일반
Object객체보다 성능이 좋음.
Metadata
Metadata
Assignees
Labels
풀이미흡제대로 풀이하지 못함.제대로 풀이하지 못함.