Today I Learned 45

20210812 split vs components 정리

https://dmsitter.tistory.com/130 swift - Split vs Components (문자열을 특정 separator로 나눠서 배열에 리턴) 먼저 관련 공식문서의 주소는 아래와 같다. https://developer.apple.com/documentation/dispatch/dispatchdata/1780541-split/ Split 공식문서 https://developer.apple.com/documentation/foundation/nsstring/1.. dmsitter.tistory.com 분명히 오늘 계획이 더 많았는데.. 생각보다 하나 정리하는 데 시간이 많이 걸린다..

Today I Learned 2021.08.12

20210811 백준 문제풀이 (입출력과 사칙연산2)

9번 문제 처음에는 8번문제에서 했던 것처럼 나누기와, 나머지를 구하는 부분에서 Double 자료형을 사용했었는데, 틀렸다고 나왔다.. 문제를 다시 한 번 살펴보니, A/B = A를 B로 나눈 값 이 정확하게 나와야 하는 것이 아니라 몫을 구해야 하는 문제였기 때문에 Int type을 사용해서 몫을 구하고, 나머지도 구하면 되는 단순한 문제였다. import Foundation let arr = readLine()! let arrs = arr.components(separatedBy : " ") let a = Int(arrs[0])! let b = Int(arrs[1])! let c = Double(arrs[0])! let d = Double(arrs[1])! print(a+b) print(a-b) pr..

Today I Learned 2021.08.12

20210810 - 백준 문제풀이 (입출력과 사칙연산1)

단계별 문제풀이 시작 입출력과 사칙연산 1~8을 풀어보면서 정리한 내용들 출력 시 \(back slash)는 바로 뒤에 오는 문자와 더불어 escape sequence를 만들 수 있기 때문에, \을 단독으로 사용하면 에러가 발생한다. 가령, print("\ /\")의 경우 "\\ /\\" 으로 입력해주어야 한다. 백슬래시 외에도 명령어처럼(?) 사용되는 문자기호의 경우 앞에 4번 문제인 개 그림..을 출력할 때 나오는 "의 경우를 예를 들어보면, 프린트함수 내부에서 사용되는 문자이기 때문에 단독으로 사용하지 않고 \를 앞에 붙여줘야 정상적으로 출력되는 것을 확인할 수 있었다. print("( 0 )"""\") 대신 print("( 0 )\"\"\"\\") 이라고 작성해줘야 정상적으로 출력된다. 5번 문제..

Today I Learned 2021.08.11

20210725 BMI calculator project -4

지난번에 SecondViewController.swift를 만들고 그 안에 기본적인 틀을 만들었다. 오늘은 storyboard를 사용하지 않고 코드를 사용해서 두 번째 화면을 만들고, calculate 버튼을 눌렀을 때 BMI value가 두 번째 화면에 나타나도록 할 것이다. 먼저 코드만 작성해서 label을 하나 만들 것이다. viewDidLoad() 안에 label을 하나 만들고 UILabel class에서 UILabel object를 초기화한다. let으로 만들었지만 class이기 때문에 property나 method를 수정할 수 있다. 예를 들어 label의 text를 위처럼 "Hello"가 되도록 할 수 있다. ( .을 통해 property나 method에 접근할 수 있다 --- label.t..

Today I Learned 2021.07.26

20210722 BMI calculator project-3

https://dmsitter.tistory.com/122 Swift - Class & Inheritance 클래스는 구조체와 마찬가지로 청사진을 정의하는 하나의 방법이다. property와 method들을 설계할 수 있도록 하고, init()을 통해 어플을 실행했을 때 클래스를 실제 객체로 초기화할 수 있다. 클래 dmsitter.tistory.com https://dmsitter.tistory.com/123 swift - Struct vs Class swift에서 struct와 class의 차이점에 대해 정리한다. 가장 큰 차이점은 superclass로부터 상속받을 수 있다는 점이 있지만, 그것과는 별개로 superclass로부터 상속받지 않는 기본 class와 struct의 차이점을 dmsitter..

Today I Learned 2021.07.23

20210715 BMI caculator project -2

지난 번에 UISlider를 조절함에 따라 height, weight 값이 출력되도록 만들었는데 이번에는 'calculate' 버튼을 눌렀을 때 해당 수치를 이용해 BMI value를 계산하도록 만들 것이다. caculate 버튼을 눌렀을 때의 코드블럭을 작성할건데, weight, height value의 값들은 위의 IBAction function과 별개이므로 바로 사용할 수 없다. 코드블럭을 채우기 위해 사용하기 위한 방법들이 여러 가지가 있는데, 하나씩 사용해볼 것이다. 그리고, BMI = Weight(kg) / Height(m) ² 위의 식으로 계산할 것이다. Challenge 1 ) height / weight Slider에 대한 IBOutlet 연결을 생성하여 사용하는 방법 2개의 슬라이더에 ..

Today I Learned 2021.07.17

20210713 BMI calculator project -1

지금까지는 Main.storyboard에 1개의 스크린만 있는 어플만 다루었다면 BMI caculator는 2개의 스크린이 존재한다. BMI를 측정하기 위한 데이터를 입력하는 화면과 결과화면이 따로 존재한다. 입력화면에는 키와 몸무게, 계산버튼이 있고 결과화면에는 BMI 결과가 나타나게 할 것이며, 재측정버튼이 있다. 먼저 입력화면을 보면 키와 몸무게를 입력하는 곳에 이전까지는 사용하지 않았던 'UISlider'가 있는 것을 확인할 수 있다. Library - 'Slider'으로 등록할 수 있고, Attribute inspector에서 MIN/MAX 값을 정할 수 있다. Challenge ) Height Slider/Weight Slider를 IBAction(name: height slider / wei..

Today I Learned 2021.07.15

20210712 Destiny project -3

스토리 3개가 전부였을 때는 이전까지의 코드에 문제가 없었지만, 스토리의 수가 늘어날 수록 코드가 복잡해지게 된다. MVC design pattern과 구조체를 다루는 것을 연습하는 정도에 의미를 두고 다른 로직을 사용하기 위해 코드를 수정했다. 먼저 stories 배열에 제공받은 Story들을 넣었다. Story( title: "Your car has blown a tire on a winding road in the middle of nowhere with no cell phone reception. You decide to hitchhike. A rusty pickup truck rumbles to a stop next to you. A man with a wide brimmed hat with s..

Today I Learned 2021.07.13

20210711 Destiny project -2

Story.swift 파일 내에 구조체를 만들고, title / choice1 / choice2 를 각각 따로 저장하는 대신 하나의 배열에 넣어서 만들어봤다. 'Story' structure를 Story.swift에 만들어줌 StoryBrain.swift 안에 StoryBrain 구조체를 하나 만들었다. 구조체 안에서 위와 같이 3개의 스토리를 포함하는 'stories' 배열을 만들어줌 그리고, ViewController.swift에서 사용하기 위한 getStoryTitle, getStoryChoice 함수를 만들어줌 ViewController.swift 는 위와 같이 수정하였다. StoryBrain.swift에서 만든 구조체를 사용하기 위해 storyBrain이라는 하나의 변수를 선언해주고 update..

Today I Learned 2021.07.12