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

lucli님의 프로필 이미지
lucli

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

2. K번째 수

코드 관련 질문입니다.

해결된 질문

작성

·

156

0

문제에서는 'N개의 숫자로 이뤄진 숫자열이 주어지면' 이라고 숫자열 범위의 제한이 명시되어 있는데, 해당 코드로 한다면 범위의 제한이 없는 거 아닌가요??

 

답변 2

1

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

파이썬 코드를 보면 문제에서 N제한을 100까지만 했더라도,  200크기를 입력해도 읽어드리는 것은 맞습니다. 하지만 코딩테스트 문제에서 N제한을 넣어주는 것은  이 문제의 테스트케이스는 문제에서 말한 크기 범위에서만 테스트할테니 시간복잡도 같은 것들을 잘 계산해서 알고리즘을 짜보라는 의미로 알려주는 것입니다. 그리고 입력크기 N이 제한 범위 안에서만 입력되니 코드자체가 문제에서 알려준 N제한 보다 더 많이 읽는 구조라고 해도 문제가 될 게 없습니다. 출제자가 N제한을 지켜 테스트케이스를 만들어야 하는 것은 서로의 약속이니까 출제자가 지켜야할 의무사항입니다. 코드는 출제자가 만들어 놓은 입력을 읽어 문제를 처리하면 되는 거구요.  즉 출제자가 만들어 놓은 파일과 다르게 엉뚱하게 읽지만 않으면 되는 것입니다.

앞으로의 문제들이 N값을 알려주는데 파이썬에서는 굳이 N값이 필요없을 때도 있습니다. 이 문제처럼...   그래도 N을 입력값으로 넣어준 이유는 이 문제를 파이썬이 아닌 C++이나 자바로 푸는 사람을 고려해서 그렇습니다.  C++이나 자바는 입력의 크기인 N값이 있어야 쉽게 입력을 받을 수 있기 때문입니다.

0

lucli님의 프로필 이미지
lucli
질문자

넵 감사합니다. 

lucli님의 프로필 이미지
lucli

작성한 질문수

질문하기