while (1): study();

파이썬 코딩테스트처럼 입력받기 본문

알고리즘

파이썬 코딩테스트처럼 입력받기

전국민실업화 2021. 12. 28. 21:17
728x90

알고리즘 공부를 하다보면 온라인저지에 올라온 많은 문제를 풀게 됩니다. 그러나 일반적으로 sys.stdin.readline() 명령어를 사용하여 입력을 받는 실제 코딩테스트와는 달리 문자열을 다른 방식으로 전처리하거나 매번 수기로 입력해주어야 하여 실제 테스트와 연습 간의 괴리가 발생합니다.

이럴 때 다음과 같이 클래스를 활용하면 연습과 실제 간의 괴리를 최대한 해결할 수 있습니다.

class Input:
    def __init__(self, txt):
        self.txt = txt
        self.idx = 0
    
    def __len__(self, line):
        return len(line)
    
    def __getitem__(self):
        ret = self.txt.split('\n')[self.idx]
        self.idx += 1
        return ret
    
    def __call__(self):
        return self.__getitem__()
        
readline = Input(INPUT)
readline()

 

728x90
Comments