본문 바로가기

iOS/코딩테스트 연습문제17

17, 평균 구하기 문제 설명 - 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. - 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한사항 - s는 길이 1 이상, 길이 8 이하인 문자열입니다. 나의 풀이 func solution(_ s:String) -> Bool { if s.count == 4 || s.count == 6 { let num = "0123456789" let without = s.filter { num.firstIndex(of: $0) != nil } return s.count == without.count } return false } 다른 사람의 풀이 func solution(_ s:Stri.. 2022. 6. 14.
16, x만큼 간격이 있는 n개의 숫자 문제 설명 - 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. - 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한 조건 - x는 -10000000 이상, 10000000 이하인 정수입니다. - n은 1000 이하인 자연수입니다. 나의 풀이 func solution(_ x:Int, _ n:Int) -> [Int64] { var array = [Int64]() for i in 1...n{ array.append(Int64(x*i)) } return array } 다른 사람의 풀이 func solution(_ x:Int, _ n:Int) -> [Int64] { return Array(1... 2022. 6. 10.
15, 가운데 글자 가져오기 문제 설명 - 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. - 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 제한사항 - s는 길이가 1 이상, 100이하인 스트링입니다. 나의 풀이 func solution(_ s:String) -> String { if Array(s).count % 2 == 0{ return String(Array(s)[s.count/2 - 1...(s.count/2)]) } return String(Array(s)[s.count/2]) } 다른 사람의 풀이 func solution(_ s:String) -> String { return String(s[String.Index(encodedOffset: (s.count-1)/2)...String.. 2022. 6. 5.
14, 두 개 뽑아서 더하기 문제 설명 - 정수 배열 numbers가 주어집니다. - numbers에서 서로 다른 인덱스에 있는 두 개의 수를 뽑아 더해서 만들 수 있는 - 모든 수를 배열에 오름차순으로 담아 return 하도록 solution 함수를 완성해주세요. 제한사항 - numbers의 길이는 2 이상 100 이하입니다. - numbers의 모든 수는 0 이상 100 이하입니다. 내가 쓴 답 import Foundation func solution(_ numbers:[Int]) -> [Int] { var array: Set = [] for i in 0.. 2022. 5. 30.
13, 2016년 문제 설명 - 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? - 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. - 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT입니다. - 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 "TUE"를 반환하세요. 제한 조건 - 2016년은 윤년입니다. - 2016년 a월 b일은 실제로 있는 날입니다. (13월 26일이나 2월 45일같은 날짜는 주어지지 않습니다) 내가 쓴 답 func solution(_ a:Int, _ b:Int) -> String { var Day = ["THU", "FRI", "SAT", "SUN.. 2022. 5. 22.
12, 자연수 뒤집어 배열로 만들기 문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. 내가 쓴 답 func solution(_ n:Int64) -> [Int] { var array : [Int] = [] for i in String(n).reversed(){ guard let Num = Int(String(i)) else { break } array.append(Num) } return array } 다른 사람이 쓴 답 func solution(_ n:Int64) -> [Int] { return "\(n)".compactMap { $0.hexDigitValue }.reverse.. 2022. 5. 20.