분류 전체보기

    [Swift] 제어문 (조건문 / 반복문)

    [Swift] 제어문 (조건문 / 반복문)

    조건문 if-else 다른 if문과 형식은 같다. var num = 0 if num == 0 { //code } else if num == 10 { //code } else{ //code } 다른점은 조건이 무조건 Bool type이여야 한다는 것이다. 즉, 숫자 0은 false이고, 나머지는 true 라는 다른 언어의 특성을 지니지 않는다. // error code var num = 0 if num { //code } switch 다른 언어의 switch와는 달리 break를 명시하지 않아도 됨 case에서 다루지 않는 범위가 있는 한 default 부분은 꼭 써주기 var num = 10 switch num { case 10: print("ten") default: print("not ten") } ..

    [Swift] function / 함수

    [Swift] function / 함수

    1. 함수선언 기본 func 함수이름 (변수 : type, 변수 : type) -> return_type { //code return value } //ex (더하기 함수) func add (a : Int, b : Int ) -> Int { return a+b } return ❌ func name(a: Int, b: Int) -> Void { //code } func name(a: Int, b: Int) { //code } 매개변수 ❌ func name() -> return_type { //code return } 2. 매개변수 기본값 📌 변수 : type = 기본값 func add(a : Int, b: Int = 10) -> Int { // b기본값 = 10 return (a+b) } 기본값을 설정하면..

    [Swift] collection type / 컬렉션 타입

    [Swift] collection type / 컬렉션 타입

    1. Array 순서가 있는 컬렉션 선언하는 방법 var intArray : Array = Array() var intArray : Array = [] var intArray : [Int] = Array() var intArray : [Int] = [] var intArray = [Int]() 활용 var intArray : Array = [] intArray.append(1) // 1을 삽입한다. intArray.contains(1) // 1이 존재하는지 확인 => true intArray.remove(at:0) // 0번째 index 값 제거 intArray.removeLast() intArray.removeAll() intArray.count // 길이 반환 intArray[0] // 0번째 ind..

    [머신러닝] train_test_split (데이터 나누기)

    [머신러닝] train_test_split (데이터 나누기)

    머신러닝 공부를 하면서 scikit-learn 라이브러리를 사용하게 되었다. 오늘은 그 안에서도 데이터를 분리해주는 모듈인 train_test_split에 대해서 알아보고자 한다. import from sklearn.model_selection import train_test_split option x_train, x_test, y_train, y_test = train_test_split(x_data, y_data) 위와 같이 작성하면 랜덤으로 train data와 test data를 분리해준다. train_test_split(x,y, test_size = 0.3, train_size = 0.7) 위와 같이 데이터의 비율을 조절할 수도 있다. (test 30% / train 70%) train_test..

    [머신러닝] scikit-learn (사이킷런)

    [머신러닝] scikit-learn (사이킷런)

    scikit-learn (사이킷런) 이란 파이썬의 대표적인 머신러닝 라이브러리이다. 간단한 사용방법 XOR 학습하기 from sklearn import svm, metrics xor_data = [ [0,0], [0,1], [1,0], [1,1] ] xor_label = [0,1,1,0] clf = svm.SVC() clf.fit(xor_data, xor_label) pre = clf.predict(xor_data) ac_score = metrics.accuracy_score(xor_label, pre) print(int((ac_score)*100),"%") 머신러닝 알고리즘인 svm 알고리즘을 모듈을 이용해서 구현합니다. 데이터와 레이블을 넣을 때 fit을 사용합니다. predict는 주어진 data로..

    [SwiftUI] 데이터 바인딩 (1/5) @State

    [SwiftUI] 데이터 바인딩 (1/5) @State

    데이터바인딩 데이터 바인딩(data binding)은 제공자와 소비자로부터 데이터 원본을 결합시켜 이것들을 동기화하는 기법이다. 라고 위키백과가 말하는데, 쉽게말해 SwiftUI에서 데이터 바인딩은 view에 보여줄 데이터를 연결하는 작업이라고 생각하면 될 것 같습니다. 바인딩하는 데이터의 종류는 다양하고 그 용도가 다 다르기 때문에 바인딩 하는 방법도 다양합니다. IOS 프로그래밍을 할 때 swift에서 익히 사용하던대로 프로퍼티를 선언하고 수정하면 에러가 나는것을 볼 수 있다. 그 이유와 대체 키워드인 @State에 대해서 알아보자 왜 에러가 나는가? 아래 코드는 기본적인 ContentView 형태로 버튼을 누르면 str의 값을 변경하는 코드입니다. 하지만 아래 코드는 에러가 발생합니다. struct..

    [Swift] Optional과 unwrapping

    [Swift] Optional과 unwrapping

    프로그래밍 언어들 마다 특색이 하나씩 있는 것 같다. Swift의 언어 특색은 옵셔널이 아닐까,, 생소하지만 중요한 개념 optional에 대해서 알아보장! 1. nil optional에 앞서 nil을 알아야 합니다. nil은 쉽게 생각해서 우리가 다른 언어에서 익히 쓰는 null로 이해 하시면 될 것 같습니다. 즉 변수가 nill이라는 것은 값이 없음을 의미합니다. 하지만 swift는 일반적인 변수에 nill값을 넣을 수 없습니다. 이때 우리는 Optional이라는 것을 사용해야 합니다. 2. Optional 이 변수에는 값이 있을 수도 있고, 없을 수도 있습니다! 도대체 무슨 말일까 싶겠지만, 말 그대로 입니다. 변수가 nill일 수도 있고, 아닐 수도 있다는 것 입니다. 변수에 값이 없을 때 호출을..

    [Swift] 변수와 상수 그리고 type

    [Swift] 변수와 상수 그리고 type

    변수와 상수 1. 변수 선언 var name : type = value var num : Int = 100 var name : String = "sladuf" var later : Int name에 변수의 이름을 지정한다. 주로 알파벳으로 이루어진 단어를 쓰거나 문자+숫자 조합이 가능함 띄어쓰기가 필요한 변수 이름은 MyName 또는 my_name으로 선언하는 경우가 많음 value에는 선언한 type과 일치하는 type의 값을 입력해야함. (Int로 선언하고 "hello"로 사용 불가능) ❗️ 문자열(String) 값은 꼭 " "안에 써주기 ❗️ type이 분명하다면 type을 생략하고 아래와 같이 작성해도 ㄱㅊ var num = 100 var name = "sladuf" 하지만 지금 값을 입력하지 않..

    [Swift] Xcode로 시작하기(feat.MacBook)

    [Swift] Xcode로 시작하기(feat.MacBook)

    swift..미루고 미루다 드디어 시작 Swift는 apple이 만든 프로그래밍 언어이다. 대부분 Xcode를 쓰는 것 같다.. 내가 프로그래밍 하면서 가장 유용했던 접근 방법으로 설명 할 계획이다. 시작을 해보자! 보통 시작은 playground에서 많이 한다. 하지만 입력 파트로 넘어가면 playground에서 빌드가 안되니 그냥 처음부터 app으로 가자. 💡 Xcode에서 new project를 켜고 macOS의 command line tool을 선택 project 이름을 설정하고 열면 main.swift에서 작업하면 됩니다 (처음 뜨는 import Foundation은 지워도 무관) 첫 빌드는 역시 Hello World! 💡 빌드 키는 command + R 또는 위에 있는 ▶️ 모양 💡 ‼️ 실행..

    [프로그래머스] 월간 코드 챌린지 시즌2

    [프로그래머스] 월간 코드 챌린지 시즌2

    https://programmers.co.kr/competitions/1078/monthly-code-challenge-s2 프로그래머스 월간 코드 챌린지 시즌2 접수 21년 03월 25일 11:00 ~ 05월 13일 18:00 테스트 21년 04월 15일 19:30 ~ 05월 13일 22:30 programmers.co.kr 지난 4월 15일, 5월 13일 ! 프로그래머스에서 주최하는 월간코테 시즌2에 참여했다. 한 회차 당 총 4문제가 출제되며 난이도는 1,2번문제는 매우 쉽고 3,4번 문제는 매우 어렵다.. 상금은 1등에게만 주어지며 단 20만원,,😦 하지만 1차 2차 합산해서 총 4문제 이상을 푼다면 이벤트 상품에 응모할 수 있다. 나는 앞서말한 매우 쉬운문제 4문제를 풀었다. 응모 기회를 얻었지..