인프런 커뮤니티 질문&답변

김민경님의 프로필 이미지
김민경

작성한 질문수

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

2. 공통원소구하기(two pointers algorithm)

이중 for문 런타임 에러 문제

작성

·

501

0

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.

 

 

안녕하세요.

제가 이번 문제를 two pointers 알고리즘으로 풀기 이전

이중 for문으로 구현을 했었는데요, 채점 사이트에서 돌려보니 시간 초과가 났습니다.

제가 궁금한 점은,

지난 문제에서는 4중 for문까지도 채점 사이트에서 정답이 떴었는

왜 이번엔 이증 for문도 런타임 에러가 나는지 모르겠습니다.

답변주시면 감사하겠습니다.

답변 1

0

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

이전 문제인 두 배열 합치기는 입력크기 즉 n제한이 100정도로 작아서 효율성테스트를 하지 않았습니다.

이번 문제는 n제한이 30,000만으로 효율성테스트를 하겠다는 의미가 있어서 그렇습니다. 실제 코테에서도 n제한이 10만을 넘어가야만 효율성테스트를 하는게 아니라 출제자가 30,000에서도 하고 싶으면 할 수 있습니다.

참고로 기업코테는 프로그래머스에서 많이 보는데 프로그래머스의 효율성(시간초과 테스트) 테스트 방식은 백준처럼 1초 또는 2초 이렇게 정해진 게 아니라 출제자가 그 문제의 정답코드를 작성해 플랫폼에 입력하고 정답코드가 답을 내는 시간을 측정해 그 시간의 3배가 넘어가면 시간초과가 나게 설정해 놓습니다. 입력의 크기가 30,000정도여도 "혹시 출제자가 효율성 테스트를 하는거 아니야" 하고 의심해야 합니다. 출제자가 이 문제의 정답코드를 투포인터로 짜서 올려 놓으면 시간제한은 투포인터로 짠 정답코드의 3배 시간까지 입니다. 그걸 넘어가면 시간초과가 납니다.

김민경님의 프로필 이미지
김민경
질문자

친절한 답변 감사합니다!

김민경님의 프로필 이미지
김민경

작성한 질문수

질문하기