반복문 이해하기
1. for-in 문
- 정해진 횟수만큼 반복해야 할 때 사용.
- 배열(Array) 또는 범위(Range)의 요소를 순회할 때 사용.
- 단, 반복 횟수가 미리 정해져 있어야 함.
- 범위를 사용하여 특정 범위의 숫자를 반복할 수 있음.
- 예시 코드
for i in 1...5 {
print("반복 \(i)회")
}
- 예시코드
// 배열 요소 출력
let names = ["Alice", "Bob", "Charlie"]
for name in names {
print("이름: \(name)")
}
2. while 문
- 반복 횟수가 정해져 있지 않고, 특정 조건이 참일 동안 반복할 때 사용
- 루프를 실행하기 전 조건을 먼저 검사.
- 조건이 거짓이면 반복을 실행하지 않음.
- 사용 사례
- 반복 횟수를 미리 알 수 없을 때.
- 사용자가 특정 조건을 만족할 때까지 반복해야 할 때.
- 게임의 메인 루프처럼 계속 실행해야 할 때.
- 예시 코드
// 사용자가 0을 입력할 때까지 계속 입력받기
var input = -1
while input != 0 {
print("숫자를 입력하세요 (0을 입력하면 종료): ")
if let userInput = readLine(), let num = Int(userInput) {
input = num
}
}
print("프로그램 종료")
*처음보는 readLine
3. repeat-while 문
- 최소 1회 실행이 보장된 상태에서, 특정 조건이 참일 동안 반복할 때.
- while 문과 달리, 먼저 실행한 후 조건을 검사.
- 조건이 거짓이더라도 한 번은 반드시 실행.
- 사용 사례
- 사용자 입력을 최소 한 번 이상 받아야 할 때.
- 최소 한 번 실행이 필요한 루프(예 : 로그인 시 비밀번호 입력).
- 데이터를 처리한 후 조건을 검사해야 할 때.
- 예시코드
// 1회 이상 실행 후 조건 검사
var count = 0
repeat {
print("반드시 한 번 실행됩니다! (현재 count: \(count))")
count += 1
} while count < 3
- 예시코드
// 사용자 입력이 올바를 때까지 계속 요청
var password = ""
repeat {
print("비밀번호 입력: ")
password = readLine() ?? ""
} while password != "1234"
print("비밀번호가 맞습니다!")
반복 횟수가 정해져 있다면? -> for-in 문 사용
조건을 먼저 확인한 후 실행해야 한다면? -> while 문 사용
반드시 한 번은 실행해야 한다면? -> repeat-while 문 사용
반복문 연습하기
문제 1 : 1부터 N까지의 합구하기(for문 사용)
사용자로부터 N을 입력받아 1부터 N까지의 합을 계산하는 프로그램을 작성하세요.
* 고민해봤지만 코드가 떠오르지 않았음. 좀 더 진득하게 고민해볼것.
문제 2 : 짝수만 출력하기 (for 문 & if 문 사용)
1부터 20까지 숫자 중 짝수만 출력하는 프로그램을 작성하세요.
* 곱하기로 뭔가 해보려 했으나, 좀 더 공부해봐야 할듯함.
문제 3 : 특정 숫자가 나올 때까지 반복 (while문 사용)
컴퓨터가 랜덤한 숫자를 생성하고, 그 숫자가 5가 나올 때까지 반복하는 프로그램을 작성하세요.
* 처음보는 Int.random 갑툭튀.. 갈길이 멀다.
문제 4 : 비밀번호 맞출 때 까지 반복(repeat-while 사용)
사용자가 정해진 비밀번호 "1234"를 입력할 때까지 계속 입력을 요구하는 프로그램을 작성하세요.
* 따라는 해봤지만, readLine에 대한 이해가 있어야 100% 알고 넘어갈듯..
도전 과제 : 숫자 맞추기 게임 만들기
- 컴퓨터가 1~100 사이 숫자를 랜덤으로 선택합니다.
- 사용자가 숫자를 입력하고, 컴퓨터가 선택한 숫자와 비교하여 힌트를 줍니다.
- 사용자가 입력한 숫자가 정답보다 크면 "더 작은 숫자를 입력하세요!" 출력.
- 사용자가 입력한 숫자가 정답보다 작으면 "더 큰 숫자를 입력하세요!" 출력.
- 정답을 맞히면 "축하합니다! 정답입니다!" 출력 후 종료
*게시물 보고 따라하면서 어찌어찌 돌렸으나, Xcode나 Swift Playgrounds에서 돌려보고 싶다는 마음이 간절...
*코드가 점점 복잡해져가면서 이해하는데 시간이 오래걸리기 시작함.
'iOS' 카테고리의 다른 글
[iOS] 2025.02.11 함수의 사용 방법 이해하기 (0) | 2025.02.11 |
---|---|
[iOS] 2025.02.10 함수의 선언과 사용 방법 이해하기 (0) | 2025.02.10 |
[iOS] 2025.02.07 조건문 이해하기 (0) | 2025.02.07 |
[iOS] 2025.02.06 연산자의 이해 (0) | 2025.02.06 |
[iOS] 2025.02.05 Swift 첫 번째 프로젝트 (1) | 2025.02.05 |