검색결과 리스트
Set에 해당되는 글 3건
- 2016.05.13 160512 Swift 단순 구문 , 흐름 제어 구문 for , for ~ in구문 :)
- 2016.05.12 160512 Swift Function 스위프트 함수편!
- 2016.05.06 160505 Swift Collection: Dictionary 와 Set
안녕하세요~ 에르의 생각발전소입니다 :)
이번 시간에 다뤄 볼 주제는 단순 구문과 흐름 제어 구문 입니다 :)
프로그램을 만들 때 더 잘 작동할 수 있도록
일종의 윤활유라고 할 수 있겠지요?
뭐 뭐든 안중요한게 있겠습니까?
다 모든 프로그래밍 지식들이 소중하지요.
어찌됬든, 시작해보겠습니다 :0
/* 프로그래밍 과정 중 작성하게되는 코드를 구문이라고 하며,
앱하나를 개발하기위해서 수십줄부터~ 수만줄의 코드가 필요하며, 이와 더불어 디자인 음향 네트워크 등등 따지면, 많은 노력과 시간이 필요합니다.
구문의 종류는 단순 구문과 흐름 제어 구문으로 나뉘는데,
단순 구문은 말그대로 객체의 선언 및 정의 등 일반 구문인 반면
흐름 제어 구문은 조건문이라고 볼 수 있겠지요 :)
대게 흐름 제어 구문은 세 종류로 나눌 수 있는데
-반복문, 조건문, 제어 전달문으로 나눌 수 있습니다.
반복문은 For구문과 While구문으로 나눌 수 있습니다.
for 반복문은 주어진 구문을 정해진 횟수만큼 실행하며,
for~in구문과 for구문으로 나눌 수 있습니다.
for 구문은 반복할 때마다 카운터를 증가시키며 조건이 충족될 때까지 반복실행하며,
for in 구문은 순서에 따른 각각의 아이템에 대하여, 반복한다는 차이점이 있습니다.
for (초기값; 비교 조건; 증가값){
반복 실핼 구문
}
위와같이 이루어져있습니다.
*/
// 노란색 세모는 에러가 아닙니다.
// 뭐 일종의 스위프트 언어 자체에서 제공하는 권유? 랄까요?
// 저 노란색 세모를 누르시면~
// ++ is deprecated: it will be removed in swift 3
// Fix - it Replace "++" with " += 1"
// ++는 반대되었습니다. 스위프트3에서는 제거될 문법입니다!
// ++ 대신에 += 1 을 사용하여, 대체하세요 :)
// 라고 ~ 친~절히 알려주네요 :)
//
for ex in 0 ..< 11 {
print("\(ex)번째 구독입니다.")
}
// 증가도 가능하며, 반대로 차감도 가능합니다!
// for 구문을 실행하여, i라는 변수를 제공하여, 2016 값을 주고 i 는 1994보다 작고 1씩 감소한다.
// 이번에는 스위프트에서 추천하는 연산자인 -=1 연산자를 사용하였습니다. :)
// for in 구문은 배열, 딕셔너리, 범위 데이터의 개별 점수 , 문자열 등 순번으로 관리되는 데이터 타입을 효과적으로 순회할 수 있는 구문입니다.
// for 루프 상수 in 순회 대상 {
// 실핼구문
// }
for loopNumber in 1...5 {
print("2 X \(loopNumber) = \(loopNumber*2)")
}
// for in 구문을 사용하여, loopNumber라는 루프 상수를 선언하고 순회대상으로는 1...5를 지정했습니다. 1..<6도 가능하겠지요?
// 그리고 print 문법을 사용하여 실행하였습니다.
// 나이 계산이 가능하네요 :)
// 문자열 기억하시나요?
// 문자열과 문자의 차이도 기억나시는 분들은 이해가 쉬울겁니다
//
var lang = "swift"
for char in lang.characters {
print("개별 문자는 \(char) 입니다.")
}
// 문자들의 콜렉션으로 문자열의 확장된 서기소의 다발을 일컫는다 라고 얘기해주네요.
var lang = "swift"
for char in lang.characters {
print("개별 문자는 \(char) 입니다.")
}
// 고로, 위와같은 결과값을 얻으실 수 있습니다 :))))
// 또한 루프상수는 생략할 수 있습니다 :) _ 언더바를 대신 집어너어서 가능하지요
let size = 5
let padchar = "0"
var keyword = "3"
for _ in 1...size {
keyword = padchar + keyword
}
print("\(keyword)")
// size = 5 ; patcher = "0" ; var keyword = "3"
// for _ in 1...size 는 1...5까지의 의미가 됩니다.
// keyword = patcher + keyword 이면,
// padchar의 0가 다섯번 삽입된 후 3이 붙는단 얘기입니다.
// 고로, 값은 000003 이지요 :)
2016/04/19 - [프로그래밍발전소 ♫] - 160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편
2016/04/20 - [프로그래밍발전소 ♫] - 160419 Swift part.2 String과 Numbers에 대해서
2016/04/23 - [프로그래밍발전소 ♫] - 160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스
2016/04/25 - [프로그래밍발전소 ♫] - 160424 collection Array 편 :)
2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift Collection: Dictionary 와 Set
2016/05/05 - [프로그래밍발전소 ♫] - 160505 Swift 구문편! if, for, switch 까지!
2016/05/06 - [프로그래밍발전소 ♫] - 160506 Swift Optional 스위프트의 꽃! 옵셔널에 대해 알아보자!
2016/05/07 - [프로그래밍발전소 ♫] - 160507 Swift Optional 스위프트의 꽃 옵셔널! 마지막편!
2016/05/07 - [프로그래밍발전소 ♫] - 160507 Swift Function 이번엔 프로그래밍의 꽃! 함수편!
2016/05/12 - [프로그래밍발전소 ♫] - 160512 Swift Function 스위프트 함수편!
2016/05/12 - [프로그래밍발전소 ♫] - 160512 Swift 단순 구문 , 흐름 제어 구문 for , for ~ in구문 :)
2016/05/13 - [프로그래밍발전소 ♫] - 160513 Swift While 구문편 :)
160515 Swift IF문! 조건문에 대해서 :) (0) | 2016.05.15 |
---|---|
160513 Swift While 구문편 :) (0) | 2016.05.14 |
160512 Swift Function 스위프트 함수편! (0) | 2016.05.12 |
160507 Swift Function 이번엔 프로그래밍의 꽃! 함수편! (0) | 2016.05.08 |
160507 Swift Optional 스위프트의 꽃 옵셔널! 마지막편! (0) | 2016.05.07 |
안녕하세요~ 에르의 생각발전소입니다 :)
이번 시간에는 스위프트와 같은 프로그래밍 언어의 꽃!
함수에 대해서 다뤄보도록하겠습니다!
함수는 일종의 연장(도구)입니다.
못질을 하기위해서는 망치가 필요하겠지요?
그럼 그 망치를 만들어야하는데,
여기서 망치가 함수가 되는겁니다!
그러므로, 꼭 알아야겠죠?
OPTIONAL 편에서 사용했던 예제를 가져왔습니다 :)
import UIKit
let movie = "Death Note"
// moive라는 상수를 선언하고 값은 "Death Note"를 가집니다.
var ratings:[Double]? = nil
// 처음에는 값이 없고 나중에 추가될 것이기 떄문에. 옵셔널로 지정해줍니다.
let url :String = "www.DeathNote.com"
// 주소는 당연히 있어야겠지요?
ratings = [1.5, 2.5, 3.0 ,5.0, 4.5, 1.0, 3.5, 2.0]
// ratings에 8개의 더블값들들을 주었습니다!
var info:String = "\(movie)"
var info:String = movie
// 둘 중 어느 타입으로 주든 상관없습니다 :)
// print의 역할을 맡게될 info 변수입니다!
// 이제 함수를 만들어봅시다!
// func <#name#>(<#parameters#>) -> <#return type#> {
// <#function body#>
// }
// 스위프트에서의 함수 틀입니다. parameters에는 매개변수가 들어가고
// return type에는 함수에 돌려지고 난 결과값을 표출할 때의
// 값을 지정해주셔야합니다.
// function body는 함수의 내용입니다.
func funcRatings(paraRatings:[Double]) -> (average:Double, min:Double, max:Double){
// paraRatings:[Double]이라고 선언했는데, 왜냐하면 ratings도
// 더블값이기 때문입니다. 게다가 어레이상태이죠.
// 리턴타입은 튜플이며 평균과 최소, 최대값을 구할 것이며, 타입은 더블입니다.
// 왜냐하면 ratings의 값들이 더블값이기 때문이지요!
var sum = 0.0, min = paraRatings[0], max = paraRatings[0]
// sum은 0.0의 값을 가지며, min,max는 paraRatings에서의 첫번째값을 가진다. 라고 변수를 생성해주세요.
for value in paraRatings {
// for~in구문을 활용해봅시다!
if min > value {min = value}
// 만약 min이 값보다 크다면 value가 최소값입니다.
if max < value {max = value}
// 만약 max가 값보다 작다면 value가 최대값입니다.
sum += value
// sum에는 값들을 차곡차곡더합니다. 총합이니까요!
}
let average = sum/Double(paraRatings.count)
// 평균값은 총합에서 paraRatings의 값 갯수만큼 나눈 값입니다!
// 여기서 paraRatings.count에 Double타입이 지정된 이유는?
// 그렇죠, 값들이 더블값이고 따로명시해주지않으면
// 스위프트 정수로 인지하니 타입을 정확힌 지정해야하는거죠
// 스위프트는 타입과 대소문자에 까칠합니다!
return(average,min,max)
// 반환으로는 average, min, max를 반환한다.
}
언렙하지않으면 스위프트가 유혹을 합니다.
너 이값이 언렙되지않았는데, ! 나 ? 써서 언렙할레?
그게 더 깔끔할 것 같은데?
ㅋㅋㅋ그래서 !를 붙힘니다!
info += " has \(ratings!.count) ratings.\r\n average is \(record.average) from \(record.min) to \(record.max), \r\n Also our offical website is here \(url) "
}
print(info)
// 이렇게 갑이 또아앟! 뜹니다 :)
// 그럼 끝이에요.
// 함수를 이용해서 연산을 했고 그 값을 활용해서 위와같은 결론을 얻었습니다 :))))
// 조만간 함수와 옵셔녈 컬렉션들에 대해서 심화편을 업로드하도록 하겠습니다 :)
160513 Swift While 구문편 :) (0) | 2016.05.14 |
---|---|
160512 Swift 단순 구문 , 흐름 제어 구문 for , for ~ in구문 :) (0) | 2016.05.13 |
160507 Swift Function 이번엔 프로그래밍의 꽃! 함수편! (0) | 2016.05.08 |
160507 Swift Optional 스위프트의 꽃 옵셔널! 마지막편! (0) | 2016.05.07 |
160506 Swift Optional 스위프트의 꽃! 옵셔널에 대해 알아보자! (0) | 2016.05.07 |
안녕하세요~ 에르의 생각발전소 입니다:)
이번 시간에는 Collection에서
Array 이후로 Diontionary 와 Set에 대해서
다루어보도록하겠습니다!
// DItionary란? 값에 이름표를 붙여 저장하는 컬렉션의 한 종류
// NAME : [TYPE:TYPE] = [VALUE : VALUE]
var SeminaRooms:[String:Int] = ["A1":4,"A2":8, "A3":12,"A4":16,"A6":24,"B1":40]
SeminaRooms["B2"]=30
// 딕셔너리에 값을 추가할 때는 어레이처럼 안됨.
SeminaRooms["B2"]=30
// 딕셔너리에 값을 추가할 때는 어레이처럼 안됨.
SeminaRooms["A2"]
//고로, 특정 키의 값을 불러오고싶다면, 위 방식으로 입력해야함.
//let seminaRoomsNames = SeminaRooms.keys
// 딕셔너리에 등록된 키값들만 가지고 오고싶다면 위와같이
//let seminaRommsCapacity = SeminaRooms.values
// 딕셔너리에 등록된 값들만 가지고 오고싶다면 keys 대신 values를!
//let seminaRoomsNames = SeminaRooms.keys
// 딕셔너리에 등록된 키값들만 가지고 오고싶다면 위와같이
//let seminaRommsCapacity = SeminaRooms.values
// 딕셔너리에 등록된 값들만 가지고 오고싶다면 keys 대신 values를!
//완전한 어레이 형태로 값을 불러오기위해서는 다른 방법이 필요함.
let seminaRoomsNames = [String](SeminaRooms.keys)
// 세미나룸네임즈는 스트링 타입의 세미나룸즈의 키로 구성된다.
let seminaRoomsCapacity = [Int](SeminaRooms.values)
// 세미나룸즈카파시티는 정수형이며, 세미나룸즈의 벨류로 구성됨.
// Set은 어레이와 다르며 순서를 가지고 있지않음.
// 왜냐하면 집합연산을 하기에 굉장히 유리함.
// NAME :Set = [NAME]으로 Set을 만들 수 있음.
let schoolTripTeam1 :Set = ["A", "B", "C", "D","E" ,"F", "G" ]
let schoolTripTeam2 :Set = ["A", "F", "C", "k" , "Z", "Q" ,"W", "P"]
// Intersect교집함, Subtract차집함 , Union합집합, ExcluesiveOR 여집합 등으로 연산이 가능
// NAME = CLASS.FUNC(CLASS2) 로 연산이 가능함.
let 교집합 = schoolTripTeam1.intersect(schoolTripTeam2)
// Intersect로 팀1과 팀2에 모두 소속된 학생을 추릴 수 있음.
let 차집합 = schoolTripTeam1.subtract(schoolTripTeam2)
// 팀1에만 소속된 학생들을 추릴 수 있음.
let 몽땅 = schoolTripTeam1.union(schoolTripTeam2)
// Union을 사용하여, 소풍을 가는 모든 학생들을 추릴 수 있음.
let 여집합 = schoolTripTeam1.exclusiveOr(schoolTripTeam2)
// 복수의 팀의 소속되어있지않는 학생들을 추려낼 수 있음.
2016/04/23 - [프로그래밍발전소 ♫] - 160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스
2016/04/20 - [프로그래밍발전소 ♫] - 160419 Swift part.2 String과 Numbers에 대해서
2016/04/19 - [프로그래밍발전소 ♫] - 160418 swift 란? 스위프트 언어에 대해서 알아봅시다. let과 var편
2016/04/25 - [프로그래밍발전소 ♫] - 160424 collection Array 편 :)
160506 Swift Optional 스위프트의 꽃! 옵셔널에 대해 알아보자! (0) | 2016.05.07 |
---|---|
160505 Swift 구문편! if, for, switch 까지! (0) | 2016.05.06 |
160424 collection Array 편 :) (2) | 2016.04.25 |
160423 Swift Tuple, Typealias 편 ! :) 튜플과 타입얼라이어스 (1) | 2016.04.23 |
160419 Swift part.2 String과 Numbers에 대해서 (0) | 2016.04.20 |
RECENT COMMENT