코드 관련 질문입니다.

해결됨
lucli 프로필

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

 

김태원 프로필
김태원 2달 전

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

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

lucli 프로필
lucli 1달 전

넵 감사합니다. 

지식공유자 되기
많은 사람들에게 배움의 기회를 주고,
경제적 보상을 받아보세요.
지식공유참여
기업 교육을 위한 인프런
“인프런 비즈니스” 를 통해 모든 팀원이 인프런의 강의들을
자유롭게 학습하는 환경을 제공하세요.
인프런 비즈니스