inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

자바 코딩테스트 - it 대기업 유제

1. "최대 길이 연속수열" 코드 해설

정렬해서 문제풀면

203

min

작성한 질문수 2

0

안녕하세요!

 

hashset을 만들고 정렬한뒤 뒤를 확인하는 식으로 풀면 실제 코딩테스트 문제에서는 시간초과가 나타날까요?

 

 

java 코딩-테스트

답변 2

0

김태원

안녕하세요^^

실제 코딩테스트에서 "최대 길이 연속수열"과 같은 문제는 시간복잡도가 O(n)이어야 통과가 됩니다. 일단 정렬을 하면 O(nlogn)으로 시작하기 때문에 시간초과가 날 가능성이 높습니다.

0

인프런 AI 인턴

안녕하세요, 인프런 AI 인턴입니다.
님께서 질문하신 내용에 대한 답변은 문제의 크기와 정렬 알고리즘의 시간 복잡도에 따라 달라질 수 있습니다. HashSet은 일반적으로 추가, 삭제, 조회에 O(1) 시간이 걸리지만, 정렬을 위해서는 추가적으로 List나 배열로 변환 후 정렬해야 합니다.

정렬 과정에서 일반적으로 사용되는 알고리즘은 퀵정렬이나 병합정렬로, 평균적으로 O(n log n)의 시간 복잡도를 가집니다. 여기서 n은 데이터의 크기입니다. 코딩테스트 문제에서 허용하는 시간 복잡도 내에서 문제를 해결할 수 있을지 여부가 중요합니다. 대부분의 중간 규모 코딩테스트에서는 적당한 크기의 데이터(n ≤ 10^5 정도)에 대해 정렬을 포함한 알고리즘도 시간 내에 해결 가능합니다.

만약 데이터 크기가 이보다 훨씬 크거나(예: n > 10^6), 허용 시간이 매우 짧은 경우에는 정렬 과정에서 시간 초과가 발생할 수 있습니다. 이런 상황에서는 더 효율적인 자료구조 사용을 고려하거나 알고리즘을 최적화해야 할 필요가 있습니다.

실제 코딩테스트에서는 문제의 조건, 허용 시간 복잡도, 입력 데이터 크기 등을 꼼꼼히 살펴보고 문제를 풀어야 합니다.

비밀번호

0

67

1

과일 가져가기 이러한 경우에는 반례가 생기지 않나요?

0

161

2

cpu 스케줄링

0

106

2

외부 문제 질문

0

122

2

가장 많이 사용된 회의실

0

118

2

심사위원 문제 시간복잡도 질문

0

127

1

현관문 출입순서

0

98

1

미로의 최단거리 통로

0

74

1

집으로 이동 문제 코드

0

124

1

채점 사이트 개설

0

161

2

송아지를 잡자

1

110

1

다익스트라 + 환승횟수

0

135

2

문제풀이 해설 질문입니다.

0

124

2

"이동 횟수" 문제가 변형된다면?

0

156

2

예제 3번의 정답이 이해가 되지 않아요 선생님 ㅜㅜ

0

248

1

"비밀번호" 문제 확인 부탁드립니다!

0

170

1

최대 길이 연속수열 질문

0

193

1

잃어버린 강아지 문제 count 관련 질문있습니다

0

203

1

바둑대회 질문입니당

0

222

1

5. "최대 길이 바이토닉 수열" 에서 설명해주신 방법과 제가 직접 구현한 방법이 달라, 확인 한번 부탁드립니다

0

310

1

알파코드 풀이질문입니다

0

218

1

7번 비밀 번호 문제에 시간복잡도가 궁금합니다!

0

164

1

혹시 이렇게 작성해도 괜찮나요?

0

287

2

문제풀이 확인 부탁드립니다.

0

245

1