inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

정말 쉽게 풀어보는 코딩 테스트 top 기본 문제 (with 자바)

미팅룸2(Meeting Room2)

음.. solve2 이상한거 아닌가요?

202

jihyeon.jang

작성한 질문수 5

1

[0, 30], [4, 9], [5, 15], [10, 16] 이런식으로 4개를 input 으로 할 경우.. 실제로는 강의실 3개면 되는데, solve2 로는 4개가 나오는거 같아요.

minHeap.peek() 만으로 intervals[i] 랑 비교를 해서 그런거 같은데.. 근본적으로 PQ 를 사용하면 안 되는거 아닌가 싶어요.

Q에 들어가는 값이 강의실별 선점된 시간일텐데.. intervals 를 for 돌리면서 바로 강의실 별 선점 시간을 지워버리면.. [10, 16] 처럼 직전이 아닌 이전 강의실에 할당 할 수 있는 경우는 대응이 안 될거 같아요.

java 코테 준비 같이 해요!

답변 3

0

푸샵맨 코딩스터디

강의는 새로 올렸습니다~
즐코딩하세요~~

0

푸샵맨 코딩스터디

안녕하세요. ~~

solve2도 잘 됩니다.  어제는 급하게 해봐서 그런지  주신 파라미터를 잘 못 넣은거 같은데요. 

지금 잘됩니다.

질문주신 내용 중:

 [10, 16] 처럼 직전이 아닌 이전 강의실에 할당 할 수 있는 경우는 대응이 안 될거 같아요.

=> PriorityQueue를 minHeap으로 가져갔기때문에 최상위에는 제일 작은값이 존재합니다.

[10, 16]을 만날때 minHeap 최상단에 end 타임 9 가 있습니다.

minHeap.peek().end <= intervals[i].start 이조건에 걸려서  9 < 10 

minHeap에서 9를 빼버리고  [10, 16]을 넣습니다. 그래서 총3개가 됩니다.

=======solve2 소스코드==============

public int solve(Interval[] intervals) {

if (intervals == null || intervals.length == 0)

return 0;

Arrays.sort(intervals, (Interval a, Interval b) -> a.start - b.start);

int max = 0;

Queue<Interval> minHeap = new PriorityQueue<>((Interval a, Interval b) -> a.end - b.end);

for (int i = 0; i < intervals.length; i++) {

while (!minHeap.isEmpty() && minHeap.peek().end <= intervals[i].start) {

minHeap.poll();

}

minHeap.offer(intervals[i]);

max = Math.max(max, minHeap.size());

}

return max;

}

0

푸샵맨 코딩스터디

안녕하세요~

네 지금 보니까 solve2는 결과값이 안나오네요..

solve1 방식으로 금일 영상 재업데이트 하겠습니다.

비교 분석해서 올리도록하겠습니다.

감사합니다~

강의자료에 나오는 m과 n의 범위가 코딩하고 다른거 같습니다

0

252

0

나선형매트릭스 깃허브에 코드가 없는것같아요

0

206

0

로그 파일의 데이터 재정렬 코드가 깃허브에 없어요!

0

220

0

새로 생긴 기초강의 질문드려요

1

372

1

질문드립니다

1

218

1

Unique Paths Integer 질문입니다

0

218

1

subString 방법으로 문제 풀이 영상은 짤린건가요?

1

250

1

DFS 방식으로 푼 것이 맞나요?

0

305

2

질문드립니다~

0

195

1

left if문에 대해서

1

254

1

오타 인가요?

1

236

1

안녕하세요 강사님

1

186

1

질문 드립니다

0

170

2

Queue&Stack 문제해설집 문의

0

182

1

문제분석 로직 질문

1

227

1

시간 복잡도 문의드립니다.

1

229

1

시간복잡도 질문드립니다.

1

199

1

for-each 문 질문있습니다!

0

292

1

강의영상에서 사용된 로그 메소드가 궁금합니다.

2

279

2

강의자료 + 문제 이해 관련 질문입니다

1

276

3

강사님 오류맞나요?

1

204

1

강사님 시간 복잡도에 대해서 질문드립니다.

1

170

1

질문입니다.

1

200

1

문제에 대한 이해

1

312

1