본문 바로가기

전체 글

(165)
[Day6-2] 수 조작하기1 문제 내 정답 코드 import Foundation func solution(_ n:Int, _ control:String) -> Int { var result = n for char in control { switch char { case "w": result += 1 case "s": result -= 1 case "d": result += 10 case "a": result -= 10 default: break } } return result } # 1. control을 한 문자씩 확인하면서 각 문자에 맞게 result값을 계산한다. @ 다른 사람 풀이에서 인상 깊었던 풀이 dictionary가 무엇인지는 알고 있었지만 이렇게 사용할 생각은 못해봤다. dictionary와 reduce를 잘 활용한..
[Day6-1] 마지막 두 원소 문제 내 정답 코드 import Foundation func solution(_ num_list:[Int]) -> [Int] { var result = num_list var lastValue = num_list[num_list.count-1] var beforeValue = num_list[num_list.count-2] var plusValue = lastValue > beforeValue ? (lastValue-beforeValue) : lastValue * 2 result.append(plusValue) return result } # 1. 마지막 원소와 그 전의 원소를 구하고 2. 두 개의 값을 비교하여 새로 계산한 값을 배열에 추가한다. 배운 기술
[Day5-5] 이어 붙인 수 문제 내 정답 코드 import Foundation func solution(_ num_list:[Int]) -> Int { var num1 = num_list.filter { $0 % 2 == 0 }.map { String($0) }.reduce("", +) var num2 = num_list.filter { $0 % 2 == 1 }.map { String($0) }.reduce("", +) return Int(num1)! + Int(num2)! } # 1. filter로 홀/짝수를 판단하고 (isMultiple 사용해도 됨) 2. map으로 String변환 후 reduce를 통해 문자열 덧셈을 하였다. (reduce -> joined로 사용 가능) 배운 기술