본문 바로가기
DataScience/백준

백준 개발환경에서 테스트 쉽게하기

by mkk4726 2023. 6. 11.

제출하기 전에 개발환경에서 테스트를 할 때 일일이 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

댓글