본문 바로가기

프로그래밍 언어/Swift

(21)
[Swift] 튜플 tuple 튜플이란? 튜플은 하나의 변수에 여러개의 값을 담을 수 있으므로 바구니 형태이며, 인덱스와 키 값을 가집니다. 이번 포스팅에서는 지난번 배열, 딕셔너리 , 셋에 이어 튜플에 대해 알아보도록 하겠습니다. 1. 튜플 만들기 var data:(String, Int, Double) = ("Apple", 100, 3.14) print(data.0, data.1, data.2) Apple 100 3.14 2. 값 변경 data.0 = "Kiwi" data.1 = 999 print(data) ("Kiwi", 999, 3.14) 3. 키 값 지정하기 var test:[String:Int] = ["a":10, "b":7, "c":99] for item in test { print(item) print(item.0, it..
[Swift] 베이스볼 게임 1. 랜덤하게 1~9 사이의 숫자 3개를 뽑는다. (중복금지) 2. 사용자로부터 1~9 사이의 숫자 3개를 입력받는다. 3. 위치와 숫자가 모두 일치하면 S, 숫자는 일치하지만 위치가 다를 경우 B를 출력하도록 한다. 정답이 [3, 9, 7]이고 사용자가 [3, 7, 5]를 입력했다면 "1S 1B" 을 출력한다. 지난번 포스팅한 Set을 이용하여 문제를 풀어보겠습니다. 1. 정답 숫자를 저장할 공간과, 중복없이 랜덤하게 뽑은 숫자를 저장할 공간을 만듭니다. var answer_numbers:[Int] = [] var temp_numbers:Set = [] 2. 랜덤하게 1~9 사이의 숫자 3개를 뽑아 temp_numbers에 넣습니다. 숫자의 중복을 제거하고자 .count의 수가 3이 될 때 까지 whi..
[Swift] 셋 Set 셋이란? 셋은 집합이기 때문에 중복을 허용하지 않는다는 특징을 지닙니다. 셋은 바구니 객체라 할 수 있습니다. 하나의 변수에 여러개의 값을 담을 수 있기 때문입니다. 이번 포스팅에서는 지난번 배열과 딕셔너리에 이어 셋에 대해 알아보도록 하겠습니다. 1. 셋 만들기 var numbers:Set = [] var numbers2:Set = [3,6,10,12] 2. 값 추가 numbers.insert(3) numbers.insert(5) numbers.insert(6) numbers.insert(7) print(numbers) // [3, 6, 7, 5]이 출력됩니다. 3. 값 제거 numbers.remove(5) print(numbers) // [6, 3, 7]이 출력됩니다. 4. 교집합, 합집합, 차집합 ..
[Swift] 로또 번호 추출기 random(), flag, contains, sorted() 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. 번호가 중복되지 않은..
[Swift] reduce()를 이용한 배열 값 더하기 How to sum an array of numbers using reduce() ? reduce()를 이용하여 배열 값을 더하는 방법은 다음과 같습니다. let numbers = [1, 2, 5, 14, 26] let total = numbers.reduce(0, +) 지난번 포스팅한, 딕셔너리를 이용한 '학생의 평균 점수 및 과목별 평균 점수 계산하기' 문제를 reduce()를 활용하여 다시 풀어보겠습니다. 1. 학생을 무제한 입력받는다. 2. 학생 데이터 - 학생 이름, ios, Android, Web 과목의 성적을 학점으로 입력받는다. 3. 입력이 끝나면 3-1. 각 학생의 이름, 과목별 성적, 평균 평점을 계산하여 출력한다. 3-2. 전체 학생의 과목별 성적 평균을 계산하여 출력한다. 1. 딕셔..
[Swift] 학생의 평균 점수 및 과목별 평균 점수 계산하기 1. 학생을 무제한 입력받는다. 2. 학생 데이터 - 학생 이름, ios, Android, Web 과목의 성적을 학점으로 입력받는다. 3. 입력이 끝나면 3-1. 각 학생의 이름, 과목별 성적, 평균 평점을 계산하여 출력한다. 3-2. 전체 학생의 과목별 성적 평균을 계산하여 출력한다. 지난번 포스팅한 딕셔너리을 이용하여 문제를 풀어보겠습니다. 1. 딕셔너리를 만든다. var student_scores:[String:[String:Double]] = [:] 2. 입력 값이 없을 때 까지 학생의 이름과 과목별 성적을 입력받는다. while true{ print("학생 이름: ", terminator:"" ) var student_name = readLine()! if student_name == ""{ p..
[Swift] 딕셔너리 Dictionary 딕셔너리란? 딕셔너리는 바구니 객체라 할 수 있습니다. 하나의 변수에 여러개의 값을 담을 수 있기 때문입니다. 이번 포스팅에서는 지난번 배열에 이어 딕셔너리에 대해 알아보도록 하겠습니다. 바구니를 다룰 때 알아두어야 할 것 만들기 값 보기, 변경 값 추가 값 삭제 다음과 같은 순서로 딕셔너리에 대해 알아보도록 하겠습니다. 1. 딕셔너리 만들기 var students:Dictionary = ["jake":100, "philip":80, "amy":95] var students2:[String: Int] = ["jake":100, "philip":80, "amy":95] var students3:Dictionary = Dictionary() var students4:Dictionary = [String: I..
[Swift] 정수를 무제한 입력받아서 해당 정수들의 합과 평균 구하기 정수를 무제한 입력받아서 해당 정수들의 합과 평균을 구하시오. (출력) 입력받은 정수들은 배열에 저장해두고 입력이 끝나면 합과 평균을 구하시오. 지난번 포스팅한 배열을 이용하여 문제를 풀어보겠습니다. 1. 배열 만들기 var int_array:[Int] = [] 2. 사용자로 부터 정수 입력 받아서 형변환을 한 뒤 배열에 추가하기 var input_data = readLine() var input_number = Int(input_data!)! int_array.append(input_number) 3. 입력받는 값이 빈값이면 while문을 빠져나오기 while true{ var input_data = readLine() if input_data == ""{ break } var input_number ..