코딩 논술 Set 5 — 심화 통합 (1~4장)¶
문제 1. 달팽이 계단 (while · 변수 · 조건)¶
문제 설명¶
달팽이가 깊이 H인 우물에서 탈출하려 합니다.
- 낮에는 A미터 올라갑니다.
- 밤에는 B미터 내려옵니다 (단, 이미 탈출했으면 내려가지 않습니다).
- 달팽이가 몇 일째에 탈출하는지 출력하세요.
입력¶
우물 깊이 H, 낮에 올라가는 거리 A, 밤에 내려가는 거리 B 조건: H > 0, A > B > 0, A ≤ H
입출력 예시¶
우물 깊이 H: 10
낮 이동거리 A: 3
밤 이동거리 B: 2
1일차: 낮 3m → 밤 1m (현재 1m)
2일차: 낮 4m → 밤 2m (현재 2m)
3일차: 낮 5m → 밤 3m (현재 3m)
...
8일차: 낮에 탈출! (10m 도달)
탈출 성공: 8일째
문제 2. 카드 게임 점수 계산 (for · 조건 · 누적)¶
문제 설명¶
블랙잭과 유사한 게임입니다. N장의 카드 숫자를 입력받아 점수를 계산하세요.
규칙:
- 카드 값은 1~13 정수
- 10, 11, 12, 13은 모두 10점으로 계산
- 카드 합계가 21을 초과하면 "버스트!" 출력 후 종료
- 21 이하면 점수 출력
- 정확히 21이면 "블랙잭!" 추가 출력
- 카드 중 1이 있으면 1 또는 11로 선택 가능 → 합이 21 이하인 최대값으로 계산
입출력 예시¶
카드 수: 3
카드 1: 7
카드 2: 13
카드 3: 4
카드: 7, 10, 4
합계: 21
블랙잭!
카드 수: 3
카드 1: 9
카드 2: 8
카드 3: 6
카드: 9, 8, 6
합계: 23
버스트!
문제 3. ROT-13 암호화 (문자열 · for · 조건 · 아스키)¶
문제 설명¶
ROT-13은 알파벳을 13자리씩 밀어 암호화하는 방식입니다.
a~m→n~z(13칸 앞으로)n~z→a~m(13칸 앞으로, 순환)- 대문자도 동일하게 처리
- 알파벳이 아닌 문자(공백, 숫자, 특수문자)는 그대로 유지
입력¶
암호화할 문자열
출력¶
ROT-13 암호화된 문자열 (복호화도 동일 함수로 가능)
입출력 예시¶
입력: Hello, World!
출력: Uryyb, Jbeyq!
입력: Uryyb, Jbeyq!
출력: Hello, World!
힌트¶
ord('a') = 97, ord('A') = 65
chr(code) — 코드를 문자로 변환
(ord(c) - ord('a') + 13) % 26 + ord('a')