전체 글

프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/70128 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 풀이 import Foundation func solution(_ a:[Int], _ b:[Int]) -> Int { let count: Int = a.count var value: Int = 0 for i in 0 ... count - 1 { value += a[i] * b[i] } return value } 풀이 과정 길이가 같은 1차원 정수 배열 a, ..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12922 내가 제출한 풀이 func solution(_ n:Int) -> String { let value = String(repeating: "수박", count: n/2) return n % 2 != 0 ? "\(value)수" : value } 풀이 과정 길이 n이 주어졌을 때 "수박수박수..." 패턴을 유지하며 n만큼 문자열을 반환하는 문제이다. n == 2 -> 수박 n == 3 -> 수박수 n == 4 -> 수박수박 n == 5 -> 수박수박수 n == 13 -> 수박수박수박수박수박수박수 같은 문자열이 반복되므로 나는 init(repeating: count:) 를..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12903 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 내가 제출한 풀이 func solution(_ s:String) -> String { let arr = Array(s) let count = s.count var result: String count % 2 != 0 ? (result = "\(arr[count/2])") : (result = "\(arr[count/2 - 1])\(arr[count/2])") return..
· TIL
내일배움캠프 앱개발 iOS 트랙 본캠프 1주차 Today I Learned # 프로그래머스 문제 _ 링크 :: 제일 작은 수 제거하기 (Swift) # 발생한 에러 알고리즘 문제를 풀다가 처음으로 시간초과를 마주했다. 시간초과는 테스트 케이스 1번에서만 발생했지만, 다른 테스트 케이스들도 이상하게 오래 걸렸다. # 오류를 낸 코드 func solution(_ arr:[Int]) -> [Int] { guard arr.count != 0 else { return [-1] } let result = arr.filter{ $0 > arr.min()! } return arr.count [Int] { guard arr.count != 0 else { return [-1] } let minValue = arr.min..
· TIL
내일배움캠프 앱개발 iOS 트랙 본캠프 1주차 Today I Learned filter(_:) -> https://yy-dev.tistory.com/62 주어진 값을 매개변수의 조건에 맞게 걸러낸다 주어진 값 - 대부분 콜렉션 매개변수 - Bool 타입으로 반환되는 클로저 프로그래머스 문제 풀이 https://yy-dev.tistory.com/59 해당 문제의 경우, 나는 for - in 을 돌려서 조건에 부합하는 요소를 걸러냈다. 그리고 조건 또한 단순히 배열로 박아두었다 다른 사람의 풀이를 보고... 우선, 조건이 0 이상 9 이하로 아주 단순하고 명확했다 ... 범위 연산자를 사용해서 0 ... 9 로 지정할 수 있었다 나는 해당 0 ... 9 의 범위 내에서, 주어진 배열에 포함되는 요소가 없다면..
· iOS/Swift
고차함수란? 다른 함수를 전달인자로 전달받거나, 함수 실행의 결과를 함수로 반환하는 함수 말이 너무 어렵다... 단순하게는? 매개변수로 함수를 가지는 함수 특히 컬렉션(배열, 딕셔너리, 집합) 정리하는 기능으로 많이 사용합니다 ㄴ 왜 쓰나요? 함수형 프로그래밍의 장점을 사용하기 위해서! 코드 간결 코드 재사용 쉬움 컴파일러 최적화 측면에서의 성능 차이 멀티스레드 환경에서 부작용 방지 Reduce(_:_:) 값을 조건에 맞게 걸러내는 함수입니다 매개변수로 전달되는 클로저의 리턴 타입은 Bool 형 이에요 func filter(_ isIncluded: (Element) throws -> Bool) rethrows -> Set - 예시 1 let cast: Set = ["Vivien", "Marlon", "..
· iOS/Swift
고차함수란? 다른 함수를 전달인자로 전달받거나, 함수 실행의 결과를 함수로 반환하는 함수 말이 너무 어렵다... 단순하게는? 매개변수로 함수를 가지는 함수 특히 컬렉션(배열, 딕셔너리, 집합) 정리하는 기능으로 많이 사용합니다 ㄴ 왜 쓰나요? 함수형 프로그래밍의 장점을 사용하기 위해서! 코드 간결 코드 재사용 쉬움 컴파일러 최적화 측면에서의 성능 차이 멀티스레드 환경에서 부작용 방지 Reduce(_:_:) 주어진 요소의 모든 내부 값을 더해서 반환하는 함수입니다 매개변수로 전달받은 클로저의 연산 결과를 반환한다고도 말해요 func reduce( _ initialResult: Result, _ nextPartialResult: (Result, Self.Element) throws -> Result ) r..
· iOS/Swift
고차함수란? 다른 함수를 전달인자로 전달받거나, 함수 실행의 결과를 함수로 반환하는 함수 말이 너무 어렵다... 단순하게는? 매개변수로 함수를 가지는 함수 특히 컬렉션(배열, 딕셔너리, 집합) 정리하는 기능으로 많이 사용합니다 ㄴ 왜 쓰나요? 함수형 프로그래밍의 장점을 사용하기 위해서! 코드 간결 코드 재사용 쉬움 컴파일러 최적화 측면에서의 성능 차이 멀티스레드 환경에서 부작용 방지 Map(_:) 기존에 있는 데이터를 변경할 때 사용해요 매개변수로 전달된 함수를 실행하고, 그 결과값을 반환합니다 기존값에 영향을 주지 않아요. 복사된 값을 반환하기 때문에 원본 값에 문제가 생기지 않아요 func map(_ transform: (Self.Element) throws -> T) rethrows -> [T] ..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/86051?language=swift 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 import Foundation func solution(_ numbers:[Int]) -> Int { let standard = [1,2,3,4,5,6,7,8,9] var arr: [Int] = [] for i in standard { if numbers.contains(i) == false { arr.append(i) } } retur..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/12948 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 func solution(_ phone_number:String) -> String { let openNumber = phone_number.suffix(4) var star = "" (phone_number.prefix(phone_number.count-4)).map { _ in star += "*" } return String("\(star)\(openNumbe..
프로그래머스 문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/76501 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 풀이 import Foundation func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int { var arr: [Int] = [] for i in 0...signs.count-1 { signs[i] == true ? arr.append(absolutes[i]) : arr.append(-absolutes[i]) } return..
· TIL
내일배움캠프 앱개발 iOS 트랙 본캠프 1주차 Today I Learned 성취 - 오늘의 나는 무엇을 했는지 내배캠에서 git의 사용법, github를 이용한 협업에 관한 특강을 마련해주었다 기본적으로 터미널에서 쓸 수 있는 리눅스 키워드를 알게 되었다 git 에 데이터를 올리거나 복제할 때 사용하는 키워드를 알게 되었다 개선 - 어떤 문제를 겪었는지, 어떻게 해결할 것인지 예시로 VScode를 사용해서 알려주셨기 때문에 Xcode 에서의 용법을 다시 익혀야합니다 🤔 이미 기존에 사용하던 개발자들이 블로그/유튜브에 잘 정리를 해 두셨을 것이기 때문에 그 글을 잘 읽으며 파악하도록 해야만!! ⭐ 내배캠에서 제공한 강의를 보며 만든 프로젝트를 깃허브에 올려보며 사용법을 익혀봅시다 ⭐ 학습 - 나는 어떤 것..
YEN_
YEN's CodeWeave