Swift

🔴 문제 🔵 풀이 몇 번의 시행착오를 거치고 나서야 문제를 풀 수 있었다. ▶️ 시행착오 1. 오름차순 정렬 후 removeFirst()를 하면 오류가 난다. 가장 작은 값을 삭제하기만 해야하는데 배열을 정렬시켜버리니 원래 배열과 달라져 오류가 났다. 🔽 오류가 발생하는 코드 func solution(_ arr:[Int]) -> [Int] { var result = arr.sorted result.removeFirst() return result == [] ? [-1] : result } 따라서, 오름차순으로 정렬하는 대신, arr 에서 최솟값을 찾고 => min() 최솟값의 인덱스 위치를 찾아서 => firstIndex(of:) 그 위치에 있는 값을 삭제 => remove(at:) 하는 프로세스로 전환..
🔴 문제 🔵 풀이 1 - 논리 부정 연산자(!), contains, filter, reduce numbers를 0부터 9까지 숫자와 하나하나 비교하지 않고, 한 번에 비교하는 방법이 있을까 싶어 계속 검색했다. 그러다가 요소가 시퀀스에 포함되어 있는지 비교하는 논리 함수인 contains(_:)를 발견했다. (레나참나 블로그, 호야 블로그, 개발자 소들이 블로그) 그런데 문제는, numbers에 포함되지 "않는" 숫자를 필터링해야 한다는 것이다. Swift 에서 논리 부정을 어떻게 하는지 몰라 검색하고 검색하다가 '!'를 논리식 앞에 붙이면 된다는 것을 알게 되었다. => !논리식 (하늘하늘 블로그)  func solution(_ numbers:[Int]) -> Int { let allNums = Ar..
· Swift/문법
📌 prefix(_:) : 앞에서부터 n글자 추출 1. 정의: collection의 요소를 앞에서부터 n개까지 담은 subsequence를 반환한다. 2. 파라미터: maxLength 파라미터는 최대로 반환할 문자열 길이를 의미한다. 0 이상의 수이어야 한다. 3. maxLength가 collection의 요소 수보다 큰 경우, 결과값은 collection의 모든 요소를 포함한다. let numbers = [1, 2, 3, 4, 5] print(numbers.prefix(2)) // Prints "[1, 2]" print(numbers.prefix(10)) // Prints "[1, 2, 3, 4, 5]" 4. 예제 var strFeelings = "happy, sad, frustrated" var ar..
🔴 문제 🔵 풀이 1 - for...in, enumerated() 활용 func solution1(_ phone_number:String) -> String { let fourthIndex = phone_number.count - 4 var blurredNumber: String = "" for (i, num) in phone_number.enumerated() { if i < fourthIndex { blurredNumber += "*" } else { blurredNumber += String(num) } } return blurredNumber } solution1("01012345678") // "*******5678" solution1("1234") // "1234" * enumerated()란..
🔴 문제 🔵 풀이 1 - enumerated() result라는 변수를 생성하고, for...in loop를 돌리며 signs[idx]가 true일 땐 result에 더하고, false일 땐 뺀다. * enumerated() 문법 : [Swift|문법] index 찾기 메소드 - enumerated()... import Foundation func solution(_ absolutes:[Int], _ signs:[Bool]) -> Int { var result: Int = 0 for (idx, value) in absolutes.enumerated() { if signs[idx] { result += value } else { result -= value } } return result } 🔵 풀이 2 ..
🔴 문제 🔵 풀이 1 - for...in, append, sorted for...in 구문에서 element를 divisor로 나눠보고, 나누어 떨어지는 element가 있다면 새로운 배열에 append하는 방식으로 풀면 될 것 같다. func solution(_ arr:[Int], _ divisor:Int) -> [Int] { var newArr: [Int] = [] for i in arr { if i % divisor == 0 { newArr.append(i) } } if newArr == [] { return [-1] } return newArr.sorted() // 오름차순으로 정렬하여 반환 } 🔵 풀이 2 - filter, sorted 특정 조건을 만족하는 element를 필터링하여 배열을 반환..
yurim-dev
'Swift' 카테고리의 글 목록 (11 Page)
let textNodes = document.querySelectorAll("div.tt_article_useless_p_margin.contents_style > *:not(figure):not(pre)"); textNodes.forEach(function(a) { a.innerHTML = a.innerHTML.replace(/`(.*?)`/g, '$1'); });