반응형
1. 사용자에게 게임 수를 입력 받는다.
2. 1~45 사이의 정수 중에서 랜덤하게 6개를 뽑는다.
3. 번호가 중복되어서는 안된다.
오늘은 랜덤함수를 이용하여 로또 번호 추출기를 만들어 보겠습니다. 💰
1. 사용자로부터 게임 수를 입력 받은뒤 Int로 형변환 한다.
print("게임 수: ", terminator:"")
var input = readLine()
var input_num = Int(input!)!
2. 랜덤으로 뽑은 로또 번호를 담아둘 배열을 만든다.
var numbers:[Int] = []
3. 입력 받는 게임 수 만큼 로또 번호 6개를 뽑는다.
while numbers.count < 6{
var number = Int.random(in: 1...45)
}
4-1. 번호가 중복되지 않은 경우에만 뽑은 로또 번호를 배열에 추가한다. - flag
var flag = false
for x in numbers{
if number == x {
flag = true
}
}
if !flag{
numbers.append(number)
}
4-2. 번호가 중복되지 않은 경우에만 뽑은 로또 번호를 배열에 추가한다. - contains
if !numbers.contains(number){
numbers.append(number)
}
flag를 사용하지 않고 contains를 사용하면 코드를 더 간결히 구사할 수 있습니다.
전체 코드는 다음과 같습니다.
print("게임 수: ", terminator:"")
var input = readLine()
var input_num = Int(input!)!
for _ in 1...input_num {
var numbers:[Int] = []
while numbers.count < 6{
var number = Int.random(in: 1...45)
if !numbers.contains(number){
numbers.append(number)
}
print(numbers.sorted())
}
}
출력
게임 수: 2
[21]
[15, 21]
[5, 15, 21]
[5, 15, 18, 21]
[5, 15, 18, 20, 21]
[5, 10, 15, 18, 20, 21]
[33]
[10, 33]
[10, 33, 38]
[10, 33, 38]
[10, 33, 38, 42]
[9, 10, 33, 38, 42]
[9, 10, 16, 33, 38, 42]
배열을 정렬하는 방법
1. 배열.sort() : 원본 자체를 정렬
numbers.sort()
print(numbers)
2. 배열.sorted()
print(numbers.sorted())
반응형
'프로그래밍 언어 > Swift' 카테고리의 다른 글
[Swift] 베이스볼 게임 (0) | 2019.07.02 |
---|---|
[Swift] 셋 Set (0) | 2019.07.01 |
[Swift] reduce()를 이용한 배열 값 더하기 (0) | 2019.06.30 |
[Swift] 학생의 평균 점수 및 과목별 평균 점수 계산하기 (0) | 2019.06.30 |
[Swift] 딕셔너리 Dictionary (0) | 2019.06.29 |