LeetCode: Missing Number
문제설명 0부터 배열의 개수 n까지의 숫자 중, 주어진 배열의 수에서 없는 숫자를 반환하라 문제풀이 0부터 배열의 개수 n까지를 더하고, 그 수에서 주어진 배열의 합을 뺀다. func missingNumber(_ nums: [Int]) -> Int { let count = nums.count let sum = (count * (count + 1)) / 2 let subtract = nums.reduce(0,+) return sum - subtract } print(missingNumber([0,1,2,3,4,5])) // 6 print(missingNumber([3,0,1])) // 2 print(missingNumber([9,6,4,2,3,5,7,0,1])) // 8 print(missingNumber..
LeetCode: Valid Parentheses
문제설명 문자열 s는 다음 3가지 종류의 괄호를 갖는다. '(', ')', '{', '}', '[', ']', 괄호가 적절하게 닫혔는지를 판별하라. 문제풀이 여는 괄호라면, stack에 넣는다. 여는 괄호가 아니라면, stack에서 값을 가져와서 현재 괄호와 비교한다. 만약 stack이 비어있다면, 여는 괄호 없이 닫는 괄호가 먼저 나왔다는 것이므로 false를 리턴한다. 주의할점은 swift의 removeLast()가 아닌, popLast()를 사용해야 옵셔널로 반환한다. func isValid(_ s: String) -> Bool { let strArray = Array(s) var stack = [Character..