제출하기 전에 개발환경에서 테스트를 할 때 일일이 input을 입력해줄 수는 없는 노릇이다.
이를 위해 .txt파일에 저장해놓고 불러와야하는데, 제출코드와 테스트코드의 차이가 최대한 없어야 불필요한 과정을 줄일 수 있다. 테스트코드와 제출코드의 차이를 딱 한 줄로 만들 수 있는 방법을 소개한다.
from sys import stdin, setrecursionlimit
setrecursionlimit(10**6) # 파이썬 최대 재귀깊이 높이기
stdin = open('11726/sample_input.txt', 'rt') # 테스트할 때, 제출할 때는 주석처리 해주기
cnt_dict = {}
cnt_dict[1] = 1; cnt_dict[2] = 2
def find_cnt(n: int) -> int:
"""
n: 가로넓이
"""
if (n in cnt_dict.keys()): return cnt_dict[n]
cnt_dict[n] = find_cnt(n - 1) + find_cnt(n - 2)
return cnt_dict[n]
N = int(stdin.readline().strip())
cnt = find_cnt(N)
print(cnt % 10007)
11726 번을 풀 때 사용한 코드인데 위의 주석처럼 , 제출할 때는 해당 줄만 주석처리해주면 된다.
그 이유는 open()으로 생성된 객채와 sys.stdin의 메소드가 동일하기 때문이다.
open().readline() , sys.stdin.readline()
따라서 open()을 stdin으로 저장해놓고 제출할 때만 해당 줄만 주석처리하면 되는 것이다.
따라서 나의 개발환경의 위와 같이 구성되어있다.
'DataScience > 백준' 카테고리의 다른 글
[백준] 1655 가운데를 말해요 (python) (0) | 2023.06.21 |
---|---|
[백준] 12865번: 평범한 배낭 (0) | 2023.06.21 |
[백준] 11726 : 2xn 타일링 (0) | 2023.06.11 |
1005번 문제풀이 (0) | 2023.06.09 |
1004번 문제풀이 (0) | 2023.06.09 |
댓글