인풋파싱
아래는 4개 숫자를 stdin에서 읽어오는 코드
import sys
input = sys.stdin.readline
# 입력 받기: H, W, N, M
H, W, N, M = map(int, input().split())
숫자하나 + 문자열리스트
3
MBC
KBS1
KBS2
인풋이 위와 같을때
import sys
input = sys.stdin.readline
# 채널의 수 N을 입력받음
N = int(input().strip())
# N개의 채널 이름을 리스트로 입력받음
channels = [input().strip() for _ in range(N)]
기본문법
기본 for루프
for y in range(H):
N+1개씩 건너뛰기
for y in range(0, H, N+1): # 행을 N+1씩 건너뛰며 반복
주의사항들
재귀관련해서 메모아이제이션과 호출깊이가 깊을때 조정코드(N=1000이라도 아래코드 필요)
import sys
sys.setrecursionlimit(10**6) #여기1
from functools import lru_cache
input = sys.stdin.readline
N = int(input().strip())
@lru_cache(maxsize=None) #여기2
def go(remain):
if remain == 0:
return False
if not go(remain-1):
return True
if remain >=3 and not go(remain-3):
return True
return False
print("SK" if go(N) else "CY")
'Programming > Problem Solving' 카테고리의 다른 글
프로그래머스 - 점찍기 (0) | 2025.03.09 |
---|---|
프로그래머스 - 유사 칸토어 비트열 (0) | 2025.03.09 |
cph (0) | 2024.07.21 |
double과 관련된 핸들링 (0) | 2021.12.26 |
백준 4103 ATM (0) | 2020.05.05 |