🔴 문제 🔵 풀이 func solution(_ n:Int64) -> Int64 { var arr: [Character] = [] // 정수를 한글자씩 담을 리스트 생성 var str = String(n) // 스트링으로 변환한 정수를 str에 담기 var strNew: String = "" // 정렬된 리스트에서 한글자씩 붙일 스트링 변수 for i in str { arr.append(i) // str을 한 글자씩 떼어서 arr에 담는 과정 } arr.sort(by: >) // arr을 내림차순으로 정렬 for i in arr { strNew += String(i) // 정렬된 리스트 원소 하나씩 떼어서 strNew에 붙이는 과정 } var intNew: Int64 = Int64(strNew) ?? -1..
전체 글
🔵 옵셔널 제거 방법 3가지 💁🏻♀️ 1. Forced Unwrapping (if you're sure it's safe) : forced unwrapping('!')을 사용할 땐 주의해야 한다. 옵셔널이 'nil'일 경우, 시스템이 충돌하기 때문이다. 변환이 항상 성공하는 상황에서만 사용할 것! let char: Character = "5" // wholeNumberValue 뒤에 ! 붙이는 경우 let integerValue = char.wholeNumberValue! print(integerValue) // 5 // 변수 뒤에 ! 붙이는 경우 let integerValue = char.wholeNumberValue print(integerValue!) // 5 방법 : Optional로 선언된 변..
🔴 문제 임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다. n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요. 제한 사항: n은 1이상, 50000000000000 이하인 양의 정수입니다. 🔵 풀이 이번 문제는 'sqrt(_:) 함수만 알고 있으면 풀기 쉽다. 단, sqrt(_:)를 사용하려면 Foundation 프레임워크를 import해야한다. import Foundation func solution(_ n: Int64) -> Int64 { let x: Int64 = Int64(round(sqrt(Double(n)))) if x * x == n { return (x + 1) * (x..
🔴 문제 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5 이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니다. s는 "0"으로 시작하지 않습니다. 🔵 풀이 문자열을 숫자로 변환하는 데에는 1. Int()로 감싸거나, 2. wholeNumberValue 프로퍼티를 사용하는 등의 방법이 있다. 그러나 whole number는 0과 자연수만 포함하기 때문에, 이 문제에는 사용할 수 없다. (물론 s의 부호를 따로 떼어내는 작업을 거칠 수도 있지만 귀찮으니까.) 코드는 다음과 같다. func solution(_ s:String) -> Int { if let num: Int = Int(s) { re..
🔴 문제 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다 🔵 풀이 1 temp 변수에 Int 타입으로 변환한 n값을 넣고, temp가 0이 될 때까지 1) temp를 10으로 나눈 나머지를 digits 리스트에 넣고 2) temp를 10으로 나누는 코드이다. func solution(_ n:Int64) -> [Int] { guard n > 0 else { return [] } var temp: Int = Int(n) var digits: [Int] = [] while temp > 0 { digits.append(temp % 10) temp /= 10 }..
앞서 [Swift] 고차함수 - map, filter, reduce 에서 map에 대해 정리했지만, 오늘은 flatMap, compactMap을 함께 비교하며 다시 정리해보려 한다. ( 참고 : tdcian님 블로그 ) [Swift] 고차함수 - map, filter, reduce 주제: Swift 표준 라이브러리에서 제공하는 고차함수 map, filter, reduce (참고: yagom's blog, 개발하는 훈이님 블로그 ) 📌 고차함수란? 고차함수(Higher-order function)는 다른 함수를 *전달인자로 받거나, 함 yurim-dev.tistory.com 1️⃣ map(_:) 📌 개요 기능 : 클로저를 시퀀스의 각 요소에 적용시켜 새로운 array를 생성한다. * mapping(맵핑):..