콘텐츠로 이동

코딩 논술 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~mn~z (13칸 앞으로)
  • n~za~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')