콘텐츠로 이동

코딩 논술 Set 3 — while 반복 / for 반복 / 중첩 반복


문제 1. 숫자 삼각형 패턴 (for 중첩 반복)

문제 설명

양의 정수 N을 입력받아 아래 두 가지 패턴을 출력하는 프로그램을 작성하세요.

패턴 A — 숫자 삼각형:

1
1 2
1 2 3
1 2 3 4
1 2 3 4 5

패턴 B — 역삼각형:

1 2 3 4 5
1 2 3 4
1 2 3
1 2
1

입력

자연수 N (1 이상 9 이하)

입출력 예시

N: 4
[패턴 A]
1
1 2
1 2 3
1 2 3 4
[패턴 B]
1 2 3 4
1 2 3
1 2
1

문제 2. 최대공약수와 최소공배수 (while · 조건)

문제 설명

두 양의 정수를 입력받아 최대공약수(GCD)와 최소공배수(LCM)를 구하는 프로그램을 작성하세요.

  • 최대공약수 — 유클리드 호제법을 사용하세요: gcd(a, b) = gcd(b, a % b)
  • 최소공배수lcm = a * b // gcd(a, b)
  • math 모듈 사용 금지 — while 반복문으로 직접 구현하세요.

입출력 예시

첫 번째 수: 48
두 번째 수: 18
최대공약수: 6
최소공배수: 144

문제 3. 숫자 맞추기 게임 (while · 조건 · 변수)

문제 설명

컴퓨터가 1~100 사이의 숫자를 하나 정해두었습니다 (아래 코드에서는 secret = 42로 고정). 사용자가 숫자를 입력하면 힌트를 주고, 맞출 때까지 반복합니다.

  • 입력한 숫자가 정답보다 크면: "더 작은 숫자"
  • 입력한 숫자가 정답보다 작으면: "더 큰 숫자"
  • 정답이면: "정답! N번 만에 맞추셨습니다!"
  • 10번 안에 못 맞추면: "게임 오버! 정답은 42입니다."

입출력 예시

숫자 맞추기 게임 (1~100)
예상: 50
더 작은 숫자
예상: 25
더 큰 숫자
예상: 42
정답! 3번 만에 맞추셨습니다!