반복문 이해하기
반복문 이해하기
1. for-in 문
•
정해진 횟수만큼 반복해야 할 때 사용합니다.
•
배열(Array) 또는 범위(Range)의 요소를 순회할 때 사용합니다.
◦
단, 반복 횟수가 미리 정해져 있어야 함.
◦
범위를 사용하여 특정 범위의 숫자를 반복할 수 있음.
for i in 1...5 {
print("반복 \(i)회")
}
Swift
복사
// 배열 요소 출력
let names = ["Alice", "Bob", "Charlie"]
for name in names {
print("이름: \(name)")
}
Swift
복사
2. while 문
•
반복 횟수가 정해져 있지 않고, 특정 조건이 참(true)일 동안 반복할 때 사용합니다.
◦
루프를 실행하기 전 조건을 먼저 검사.
◦
조건이 거짓(false)이면 반복을 실행하지 않음.
•
사용 사례
◦
반복 횟수를 미리 알 수 없을 때.
◦
사용자가 특정 조건을 만족할 때까지 반복해야 할 때.
◦
게임의 메인 루프처럼 계속 실행해야 할 때.
// 10 이하의 숫자를 반복 출력
var number = 1
while number <= 10 {
print("현재 숫자: \(number)")
number += 1
}
Swift
복사
// 사용자가 0을 입력할 때까지 계속 입력받기
// readLine()은 Playground에서는 사용할 수 없는 메소드입니다
// 예시이기 때문에 참고로만 봐주세요!
var input = -1
while input != 0 {
print("숫자를 입력하세요 (0을 입력하면 종료): ")
if let userInput = readLine(), let num = Int(userInput) {
input = num
}
}
print("프로그램 종료")
Swift
복사
3. repeat-while 문
•
최소 1회 실행이 보장된 상태에서, 특정 조건이 참일 동안 반복할 때.
◦
while 문과 달리, 먼저 실행한 후 조건을 검사.
◦
조건이 거짓(false)이더라도 한 번은 반드시 실행.
•
사용 사례
◦
사용자 입력을 최소 한 번 이상 받아야 할 때.
◦
최소 한 번 실행이 필요한 루프(예: 로그인 시 비밀번호 입력).
◦
데이터를 처리한 후 조건을 검사해야 할 때.
// 1회 이상 실행 후 조건 검사
var count = 0
repeat {
print("반드시 한 번 실행됩니다! (현재 count: \(count))")
count += 1
} while count < 3
Swift
복사
// 사용자 입력이 올바를 때까지 계속 요청
// readLine()은 Playground에서는 사용할 수 없는 메소드입니다
// 예시이기 때문에 참고로만 봐주세요!
var password = ""
repeat {
print("비밀번호 입력: ")
password = readLine() ?? ""
} while password != "1234"
print("비밀번호가 맞습니다!")
Swift
복사
요약
반복문 | 사용 시점 | 특징 |
for-in 문 | 반복 횟수가 명확할 때 | 범위나 배열을 순회할 때 적합 |
while 문 | 반복 횟수를 모를 때 | 조건을 먼저 검사하고 실행 |
repeat-while 문 | 최소 1회 실행이 필요할 때 | 실행 후 조건을 검사 |
반복문 선택 가이드
•
반복 횟수가 정해져 있다면? → for-in 문 사용.
•
조건을 먼저 확인한 후 실행해야 한다면? → while 문 사용.
•
반드시 한 번은 실행해야 한다면? → repeat-while 문 사용.
반복문 연습하기
문제 1: 1부터 N까지의 합 구하기 (for문 사용)
•
사용자로부터 N을 입력받아 1부터 N까지의 합을 계산하는 프로그램을 작성하세요.
출력 예시
N: 5
1부터 5까지의 합은 15입니다.
Swift
복사
힌트(10분간 고민하고 열어볼 것!)
문제 2: 짝수만 출력하기 (for문 & if문 사용)
•
1부터 20까지 숫자 중 짝수만 출력하는 프로그램을 작성하세요.
출력 예시
2
4
6
...
20
Swift
복사
힌트(10분간 고민하고 열어볼 것!)
문제 3: 특정 숫자가 나올 때까지 반복 (while문 사용)
•
컴퓨터가 랜덤한 숫자를 생성하고, 그 숫자가 5가 나올 때까지 반복하는 프로그램을 작성하세요.
출력 예시
3
7
2
5가 나왔습니다!
Swift
복사
힌트(10분간 고민하고 열어볼 것!)
문제 4: 비밀번호 맞출 때까지 반복 (repeat-while 사용)
정해진 비밀번호 "1234"를 맞출 때까지 입력(input)과 비밀번호를 비교하는 프로그램을 작성하세요.
출력 예시
비밀번호 입력: 1111
비밀번호가 틀렸습니다. 다시 입력해주세요.
비밀번호 입력: 1234
비밀번호가 맞습니다!
Swift
복사
힌트(10분간 고민하고 열어볼 것!)
도전 과제: 숫자 맞추기 게임 만들기
1.
컴퓨터가 1~100 사이의 숫자를 랜덤으로 선택합니다.
2.
사용자가 숫자를 입력하고, 컴퓨터가 선택한 숫자와 비교하여 힌트를 줍니다.
•
사용자가 입력한 숫자가 정답보다 크면 "더 작은 숫자를 입력하세요!" 출력.
•
사용자가 입력한 숫자가 정답보다 작으면 "더 큰 숫자를 입력하세요!" 출력.
•
정답을 맞히면 "축하합니다! 정답입니다!" 출력 후 종료.
힌트(Xcode 전용, 10분간 고민하고 열어볼 것!)
힌트(Playground 전용, 10분간 고민하고 열어볼 것!)