오늘은 두번째 프로그래밍의 꽃인 반복문을 알아볼 것이다!
컴퓨터는 반복적인 작업을 잘한다.
그런만큼, 반복 작업을 시키기 위해선 반복문을 알아야만 한다.
프로그래밍 반복문은 크게 while과 for문이 있다.
while Loop
while 반복문은 조건문을 만족하면 계속해서 반복된다.
그 말은, 조건문을 계속 만족한다면 계속 반복하느라 프로그램은 종료되지 않을 것이다.
이걸 무한 루프(Infinite Loop)라고 부르기도 한다.
while 문은 다음과 같이 작성할 수 있다.
var randomNumber: Int = Int.random(in: 1...100)
var guessNumber: Int = Int.random(in: 1...100)
while randomNumber != guessNumber {
randomNumber = Int.random(in: 1...100)
guessNumber = Int.random(in: 1...100)
print("랜덤으로 생성된 숫자는 \(randomNumber)이고, 당신이 생각한 숫자는 \(guessNumber)입니다.")
}
이 코드를 실행하면, randomNumber와 guessNumber의 랜덤으로 생성된 값이 같아질 때까지 반복이 된다.
for-in Loop
다음으로는 for문을 이용한 반복문을 사용해볼 것이다.
while문과의 가장 큰 차이는, for문은 반복문을 돌 때 특정한 값을 이용한다는 점이다.
코드를 통해 알아보자.
for num in 1...10 {
print("십초를 세는 중입니다. 현재 : \(num)초")
}
위의 코드를 실행시키면 1부터 10까지 반복문을 실행하게 된다.
그리고 num값이 11이 되는 순간 반복문이 종료된다.
⚠️ 만약 num이라는 변수가 반복문 내에서 쓰이지 않는다면 _로 입력을 해주어야 한다!
for _ in 1...10 {
}
stride() Function
stride함수는 언제 쓰는거냐면, 1부터 100까지 3씩 숫자가 올라가기를 원할때나, 반대로 10부터 0까지 -1씩 내려가기를 원할 때 사용하면 좋다.
stride함수의 기본적인 형태는 다음과 같다.
stride(from: a, to: b, by: c)
a부터 b까지 c만큼의 값이 변경되며 반복을 한다.
⚠️ 이때 주의해야할 점은, b의 값이 되었을 때 반복문을 종료하기 때문에 b는 포함되지 않는다.
for num in stride(from: 10, to: -1, by: -1) {
print("숫자 : \(num)")
}
위의 코드를 실행시켜보면 10부터 0까지 -1씩 감소하면서 출력을 하고, num값이 -1이 되는 순간 반복문이 종료된다.
문자열 반복문
숫자를 반복하는 경우 말고도 문자열을 반복할 수도 있다.
긴 영어 문자열이 주어졌을 때 특정 알파벳의 개수를 구하고 싶을 때 사용할 수도 있다.
var dummySentence: String = "I'm from South Korea. My major is computer science. Nice to meet you."
for char in dummySentence {
if char == "o" {
print("o가 있습니다.")
}
}
위와 같이 작성할 수 있다.
continue, break Keyword
코드를 실행하다가 특정 조건을 만족하면 다시 반복문을 시작하거나, 또는 반복문을 강제 종료하고 싶은 경우가 발생한다.
예를 들어 1번부터 100번까지의 학생들 중 만점 받은 학생을 찾는다고 가정했을 때, 60번이 만점을 받았다면 61번부터는 확인할 필요가 없다. 예시로 말한 경우처럼 코드를 작성하다보면 원하는 상황에 맞게 키워드를 넣어주어야 한다.
var dummyText: String = "안녕하세요. 저는 Swift를 공부하고 있어요."
for char in dummyText {
if char == "S" {
break
}
print(char)
}
위의 코드를 실행시켜보면
안녕하세요. 저는 까지만 출력이 될 것이다.
왜냐하면 S가 되는 순간 반복문이 종료되었기 때문이다.
이처럼 코드를 작성하여 불필요한 반복 수행을 줄일 수 있다.
'💻 소프트웨어(SW) > Swift' 카테고리의 다른 글
[Swift] 4-2. 조건문(switch) (0) | 2024.01.17 |
---|---|
[Swift] 4-1. 조건문(if, else) (0) | 2024.01.15 |
[Swift] 3. 연산자(덧셈, 뺄셈, 곱셈, 나눗셈 등) (0) | 2024.01.12 |
[Swift] 2. 변수(Int, Double, String, Bool) (0) | 2024.01.10 |
[Swift] 1. Hello, World를 출력해보자! (0) | 2024.01.06 |