해결된 질문
작성
·
156
0
문제에서는 'N개의 숫자로 이뤄진 숫자열이 주어지면' 이라고 숫자열 범위의 제한이 명시되어 있는데, 해당 코드로 한다면 범위의 제한이 없는 거 아닌가요??
답변 2
1
파이썬 코드를 보면 문제에서 N제한을 100까지만 했더라도, 200크기를 입력해도 읽어드리는 것은 맞습니다. 하지만 코딩테스트 문제에서 N제한을 넣어주는 것은 이 문제의 테스트케이스는 문제에서 말한 크기 범위에서만 테스트할테니 시간복잡도 같은 것들을 잘 계산해서 알고리즘을 짜보라는 의미로 알려주는 것입니다. 그리고 입력크기 N이 제한 범위 안에서만 입력되니 코드자체가 문제에서 알려준 N제한 보다 더 많이 읽는 구조라고 해도 문제가 될 게 없습니다. 출제자가 N제한을 지켜 테스트케이스를 만들어야 하는 것은 서로의 약속이니까 출제자가 지켜야할 의무사항입니다. 코드는 출제자가 만들어 놓은 입력을 읽어 문제를 처리하면 되는 거구요. 즉 출제자가 만들어 놓은 파일과 다르게 엉뚱하게 읽지만 않으면 되는 것입니다.
앞으로의 문제들이 N값을 알려주는데 파이썬에서는 굳이 N값이 필요없을 때도 있습니다. 이 문제처럼... 그래도 N을 입력값으로 넣어준 이유는 이 문제를 파이썬이 아닌 C++이나 자바로 푸는 사람을 고려해서 그렇습니다. C++이나 자바는 입력의 크기인 N값이 있어야 쉽게 입력을 받을 수 있기 때문입니다.
0