적당한 고통은 희열이다

- 댄 브라운 '다빈치 코드' 중에서

반응형

Algorithm/Programmers 63

[Swift 알고리즘] Programmers 문자열 다루기 기본

문제 설명 문자열 s의 길이가 4 혹은 6이고, 숫자로만 구성돼있는지 확인해주는 함수, solution을 완성하세요. 예를 들어 s가 "a234"이면 False를 리턴하고 "1234"라면 True를 리턴하면 됩니다. 제한 사항 - s는 길이 1 이상, 길이 8 이하인 문자열입니다. 내가 제출한 코드 : 최대 0.06ms func solution(_ s:String) -> Bool { let c = s.count if c == 4 || c == 6 { return c == (s.filter{$0.isNumber}).count } else { return false } } filter를 사용하여 문자열에서 숫자만 가져와 비교하는 방법으로 구현했는데 다른 제출 코드를 살펴보니 더 간단한 방법이 있더라. 애초에..

[Swift 알고리즘] Programmers 가운데 글자 가져오기

2020-04-08 Programmers : 가운데 글자 가져오기 문제 설명 단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다. 재한사항 - s는 길이가 1 이상, 100이하인 스트링입니다. func solution(_ s:String) -> String { let midIndex = s.count/2 var result: String = "" if s.count%2 == 1 { result = String(s[s.index(s.startIndex, offsetBy: midIndex)]) } else { result = "\(s[s.index(s.startIndex, offsetBy: midIndex-1)])"+"\(s[s...

[Swift 알고리즘] Programmers 두 정수 사이의 합

2020-04-07 Programmers : 두 정수 사이의 합 문제 설명 두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요. 예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 제한 조건 - a와 b가 같은 경우는 둘 중 아무 수나 리턴하세요. - a와 b는 -10,000,000 이상 10,000,000 이하인 정수입니다. - a와 b의 대소관계는 정해져있지 않습니다. func solution(_ a:Int, _ b:Int) -> Int64 { var sum = 0 if a < b { for i in a...b { sum += i } } else { for i in b...a { sum += i..

728x90
반응형