나의 풀이import Foundationfunc solution(_ A:String, _ B:String) -> Int { var a = A.map { String($0) } var count = 0 for _ in 0..- 밀지 않아도 같은 경우가 있을 수 있으므로 반복문 실행하자마자 같은지 검사- 오른쪽으로 하나씩 밀어야 하므로 배열의 마지막 값을 추출해 0번 인덱스에 추가 다른 사람의 풀이import Foundationfunc solution(_ A:String, _ B:String) -> Int { let arr = (A+A).components(separatedBy: B) return arr.count == 1 ? -1 : arr[1].count}- ?! 신박..
나의 풀이import Foundationfunc solution(_ my_str:String, _ n:Int) -> [String] { var result: [String] = [] var str = "" for i in Array(my_str) { str += String(i) if str.count == n { result.append(str) str = "" } } if str.count > 0 { result.append(str) } return result}- 문자열에 하나씩 접근하여 새로운 문자열에 더해줌- n개가 될때 마다 결과 배열에 추가해주고 초기화- 마지..
나의 풀이import Foundationfunc solution(_ quiz:[String]) -> [String] { var result: [String] = [] quiz.forEach { var operation: Int = 1 let array = $0.split(separator: " ") operation = array[1] == "+" ? 1 : -1 result.append(Int(array[0])! + Int(array[2])! * operation == Int(array[4])! ? "O" : "X") } return result} 더보기quiz.forEach { ~ ..
나의 풀이import Foundationfunc solution(_ numbers:String) -> Int64 { let alpha = ["zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"] var strNum = "" var result = "" for i in numbers { strNum += String(i) if alpha.contains(strNum), let index = alpha.firstIndex(of: strNum) { strNum = "" result += String(index) } el..
문제 대충 보고 뭐야 쉽잖아?하고 연산자 하나라고 생각하고 풀었다가 틀림;;"my_string"에는 연산자가 적어도 하나 포함되어 있습니다."Aㅏㅎㅏ 나의 풀이import Foundationfunc solution(_ my_string:String) -> Int { let array = my_string.split(separator: " ") var result = 0 var x = 1 for element in array { if element == "+" { x = 1 } else if element == "-" { x = -1 } else { result += Int(element)..
나의 풀이import Foundationfunc solution(_ s:String) -> String { var dic: [String: Int] = [:] for c in s { dic[String(c), default: 0] += 1 } return dic.filter { $0.value == 1 }.map { $0.key }.sorted().joined()}- 딕셔너리에 key, value(디폴트 0) 할당- 딕셔너리에서 value가 1인 요소만 필터링- key값만 걸러 오름차순 정리 후 조인 다른 사람의 풀이func solution(_ s: String) -> String { return Dictionary(grouping: Array(s)..
나의 풀이import Foundationfunc solution(_ bin1:String, _ bin2:String) -> String { var result = "" var carry = 0 let a = Array(bin1.reversed()) let b = Array(bin2.reversed()) let range = max(a.count, b.count) for i in 0..- 이진수 덧셈을 메서드 사용하지 않고 구현해보기로 함- 뒤에서부터 더해야 하므로 순서 뒤바꿔줌- 반복문 범위는 둘 중 더 큰 자릿수로 범위 지정- 자릿수가 범위보다 적을 경우 편한 연산을 위해 0으로 채움- 각 자릿수 덧셈 후 이전 carry 값도 더해줌- 마지막에 carry ..
나의 풀이import Foundationfunc solution(_ before:String, _ after:String) -> Int { var bArray = Array(before) let aArray = Array(after) for i in 0.. 다른 사람의 풀이import Foundationfunc solution(_ before:String, _ after:String) -> Int { return Array(before).sorted() == Array(after).sorted() ? 1 : 0}- 왓? 그냥 정렬해서 같은지 비교하면 되는 거였음... 난 너무 복잡하게 생각한듯..ㅠㅠ