inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

원점에 가장 가까운 지점_문제해설

PriorityQueue 말고 다른 방법

197

hhm

작성한 질문수 6

4

solve() 메소드에서 파라미터로 받은 list를
Arrays.sort(list, (a, b) -> ((a[0]*a[0])+(a[1]*a[1]))-((b[0]*b[0])+(b[1]*b[1])));
이와 같이 sorting하고, sorting된 list를 return 해줘서

최종적으로 main()에서 for문을 돌려 k개만 print하도록 풀어봤는데,
PriorityQueue를 사용하는게 이 문제에선 더 좋은 방법일까요?

코테 준비 같이 해요! java

답변 1

2

푸샵맨 코딩스터디

안녕하세요.

아주 좋은 질문입니다. 이렇게 질문하면서 압박면접을 하기 쉬운 문제죠..

1. 이문제는 PriorityQueue를 이용해서 푸는게 가장 쉬운거고

2. 다른 방법으로는 원점에서 부터 거리를 구한값들을 소팅하는거죠.

가장단순하죠. 소팅에는 무슨 소팅이 있는지 물어 볼 수 있습니다.

퀵소트, 선택정렬, 버블정렬..머지소팅 각각에 빅오값을 비교해보라 할 수 있습니다.

소팅에 기본기를 물어보면서 압박면접도 할 수 있고요..

소팅을 철저히 분석해보시죠 이번기회엥

저는 퀵소트를 좋아합니다. 빅오 시간복잡도 O(nlogn) 인데 부연 설명해주고..

즐코딩하세요~

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

0

253

0

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

0

208

0

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

0

223

0

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

1

374

1

질문드립니다

1

219

1

Unique Paths Integer 질문입니다

0

219

1

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

1

251

1

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

0

307

2

질문드립니다~

0

196

1

left if문에 대해서

1

256

1

오타 인가요?

1

237

1

안녕하세요 강사님

1

189

1

질문 드립니다

0

172

2

Queue&Stack 문제해설집 문의

0

183

1

문제분석 로직 질문

1

229

1

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

1

231

1

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

1

201

1

for-each 문 질문있습니다!

0

293

1

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

2

280

2

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

1

278

3

강사님 오류맞나요?

1

206

1

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

1

172

1

질문입니다.

1

201

1

문제에 대한 이해

1

313

1