들여쓰기가 문법이다
중괄호 {} 대신 들여쓰기(보통 4칸) 가 블록을 만듭니다.
def solve(input: str) -> str:
s = input.strip()
if not s:
return '0'
a, b = map(int, s.split())
return str(a + b)
탭과 스페이스를 섞지 마세요. 연습장에서는 스페이스 4칸을 권합니다.
자주 쓰는 타입
| 타입 | 예 | 비고 |
|---|---|---|
| int | 3 | 임의 정밀도 |
| float | 3.14 | 부동소수 |
| str | 'hi' / "hi" | 불변 |
| bool | True / False | 대문자 |
| list | [1, 2] | 가변, 순서 |
| dict | {'a': 1} | 키-값 |
| set | {1, 2} | 유일 |
| tuple | (1, 2) | 불변 시퀀스 |
| None | None | 빈 값 |
문자열 ↔ 숫자
int('42')
float('3.14')
str(42)
빈 문자열에 int('')는 예외입니다. strip() 후 길이를 확인하세요.
f-string
a, b = 3, 5
return f'{a}+{b}={a + b}'
True / False / 비교
== / != / is (None 비교는 is None). and / or / not (기호 && 아님).
연습
- 입력 두 정수를 더해 문자열로 반환
- 공백만 있는 입력은
'0'반환
입력 파싱 레시피
def solve(input: str) -> str:
lines = input.strip().splitlines()
n = int(lines[0])
nums = list(map(int, lines[1].split()))
return str(sum(nums[:n]))
줄 수가 부족한 경우를 대비해 len(lines)를 확인하는 습관.
True / False / None
대소문자 구분. true는 NameError.
연습장에서
같은 solve를 여러 문자열로 수동 호출해 보세요.
채점과 같은 계약을 몸에 익히는 것이 목표입니다.