애플이라는 브랜드를 사랑하고 맥북유저라면 iOS App개발 공부를 하는 것을 염두해볼 필요가 있다. 코딩 공부는 정말 미래지향적인 공부라고 생각하고 앞으로의 미래를 이끌어 갈 아주 중요한 지식이다. 그렇다면 iOS App 개발을 위한 공부는 어디에서 해야할까?! 가장 좋은 것은 playgrounds를 이용하는 것이다. playgrounds는 아이패드나 맥북에서 사용 가능한 앱으로 app store에서 다운받으면 된다. 코딩 공부를 재밌게 배우기 가장 좋은 방법이다. 게임을 만들면서 배우고 또는 직접 구현한 코드의 실행결과를 바로바로 보여준다. 어린친구들도 접하기 좋은 것이 playgrounds다. 코딩배우기1, 코딩배우기2 를 순차적으로 배운 뒤에 이제는 새로운 게임을 만드는 것에 집중하는 것이 좋은 방법이다. 

playgrounds 앱을 실행하면 여러가지 미션들을 다운받아서 코딩공부를 할 수 있다.

 

코딩배우기1에 해당되는 내용이다. 왼쪽화면은 코드를 입력하는 란이고, 오른쪽 화면은 코드입력의 결과가 애니메이션으로 나타난다. 

동영상으로 확인을 해보자!

 

이번 동영상은 벽돌깨기 영상이다. 벽돌깨기(Brick Breaker)에 필요한 코드들이 기본적으로 제공된다. 추가로 자기 입맛에 맞게 코드를 추가로 작성하여 나만의 벽돌깨기 게임을 만들 수 있다. 추후에 추가로 playgrounds에서 내가 원하는 기능을 구현한 코드들을 소개하도록 하겠다. 스위프트 언어를 배우기 위한 첫 번째 추천은 playgrounds를 활용하는 것.

두 번째 추천은 CodeWithChris에서 배우는 것이다. 초반은 무료로 배울 수 있으나 조금 더 심화과정을 들으려면 월 결제 or 년 결제를 이용해야한다. 이 사이트의 장점은 예를들어서 월로 한 번 끊으면 사이트 내의 모든 강의를 무제한으로 들을 수 있다. 이런 점에서 보면 다른 타사이트들과는 다르게 엄청나게 경제적이다. 

CodeWithChris 사이트

유튜브에서 찾아보다가 codewithchris 채널을 보게 되었고 무료강의를 듣고 정말 괜찮다고 생각하여 월 결제로 현재 강의를 듣고 있다. 

월3만원 정도에 엄청나게 많은 강의를 듣고 있다 현재.... 다른 곳은 어떤 특정 강의 하나에 가격을 부여하기 때문에 이런 사이트는 정말 좋은 사이트라고 생각한다. 물론 영어로 강의가 되어있어서 영어 리스닝이 어느정도 수반되어야 한다!! 한국어 자막이 없다. 나도 태어나서 한글 자막 없이 처음으로 영어 영상을 보게 된 계기가 되었다. (영어를 조금 할 줄 알지만 귀찮아서 이때까진 한글자막을 무조건 넣어서 봤었다...)

 

세 번째 추천은 야곰 유튜브채널이다.

한국인의 강의이다. 처음에 가볍게 시작하기 좋은 것 같다. 유튜브에는 무료강의가 올라와있다. 심화과정을 배우려면 야곰님의 인프런강의?를 들으면 될 것이다. 야곰님도 간단한 게임을 만드는 앱을 만드는 영상이 유튜브 채널에 올라와있는데 처음에 시작할 때 무작정 따라하면서 즐겁게 배울 수 있었다.

 

이상으로 swift언어를 배우는 채널들을 알아보았다!!! 같이 코딩 공부 열심히 해봐요!!

 

'Tech Blog > Swift' 카테고리의 다른 글

온라인 코딩테스트에 대하여...  (0) 2021.04.11
기술 블로그 시작! 2021.04.10 (코딩소년)  (0) 2021.04.10

1번 Heello World! 출력 

print("Hello World")

2번 강한친구 대한육군

      강한친구 대한육군  출력하기

print("강한친구 대한육군\n강한친구 대한육군")

Point. \n을 활용하여 enter키 효과를 낼 수 있다. 

 

3번 고양이 출력 

\           /\

  )      (  ')   

(     /     )

      \(__)|

print("\\    /\\\n )  ( ')\n(  /  )\n \\(__)|")

Point. \를 출력하려면 앞에 \를 하나 더 붙여야한다. \\ 

 

4번 개 출력

|\_/|
|q p|   /}
( 0 )"""\
|"^"`    |
||_/=\\__|

print("|\\_/|\n|q p|   /}\n( 0 )\"\"\"\\\n|\"^\"`    |\n||_/=\\\\__|")

Point. "과 \을 출력하는 법을 알아야하는 문제, \ 출력하려면 앞서 말했듯이 \\를 붙이고 "를 출력하려면 \" 앞에 \를 붙여주면 된다!

 

5번 A+B

두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오.

 

Solution 1 

import Foundation

let line = readLine()!
let lineArr = line.components(separatedBy: " ")
print(Int(lineArr[0]! + Int(lineArr[1]!)

Solution 2

import Foundation

let line = readLine()!
let intArr = line.components(separatedBy: " ").map{
Int($0)! }
print(intArr.reduce(0, +))

Solution 3 

print((readLine()?.split(separator: " ").map { Int($0)!
}.reduce(0, +))!)

* 애플 공식홈페이지에서 다음 함수들에 대해서 알아보자.

 

1. readLine

 

Link - https://developer.apple.com/documentation/swift/1641199-readline

func readLine(strippingNewline: Bool = true) -> String?

말 그대로 현재 줄의 끝까지 파일 끝에 도달할 때까지 표준 입력에서 읽은 문자열을 반환한다. 

 

2. components(separatedBy:)

Link - https://developer.apple.com/documentation/foundation/nsstring/1413214-components

func components(separatedBy separator: String) -> [String]

주어진 구분 기호로 나눈 부분 문자열들을 포함한 배열을 반환한다. 

 

3. map(_:)

Link - https://developer.apple.com/documentation/swift/array/3017522-map

 

시퀀스의 요소들과 주어진 클로져를 맵핑한 결과가 포함된 배열을 반환한다.

func map<T>(_ transform: (Element) throws -> T) rethrows -> [T]

Discussion

let cast = ["Vivien", "Marlon", "Kim", "Karl"]
let lowercaseNames = cast.map { $0.lowercased() }
// 'lowercaseNames' == ["vivien", "marlon", "kim", "karl"]
let letterCounts = cast.map { $0.count }
// 'letterCounts' == [6, 6, 3, 4]

*개인적인 피드백 

 

- 문제 5번이 좀 어려운 것 같다.. 사실 아직 잘 이해가 안 된다. 자료들을 조금 더 보면서 이해를 하도록 노력해야겠다. 

갑자기 문제 5번에서 난이도 확 상승되는 느낌 실화인가..? A+B 하나를 출력하는데 왜 이렇게 복잡한 것인가...?????

 

- Xcode에서 Create new project -> Mac Os -> Comman Line Tool 을 이용해서 콘솔 결과를 활용할 수 있다고 한다. 

1. 문제 설명

- 길이가 n이고, :수박수박수박수...."와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 "수박수박"을 리턴하고 3이라면 "수박수"를 리턴하면 됩니다.

 

2. 제한 조건

- n은 길이 10,000이하인 자연수입니다.

 

3.입출력 예

n return
3 "수박수"
4 "수박수박"

solution 1.

func solution(_ n:Int) -> String {
return "\(String(repeating: "수박", count: n/2))\(n % 2 == 0 ? "" : "수")"
} 

soluton 2. 

func solution(_ n: Int) -> String {
var waterMellon = ""
	for i in 1..n {
		if i % 2 == 0 {
              waterMellon += "박"
             			 }
              	else {
              		waterMellon += "수"
                  			}
                 		}
              return waterMellon 
             		 }

+ Recent posts