목록전체 글 (31)
Geon
Stack의 appned, pop 연산은 O(1)의 시간복잡도를 갖는다. Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. class Solution { func isValid(_ s: String) -> Bool { var stack: [String] = [] for input in s { if input == "(" { stack.append(")") } else if input == "[" { stack.append("]") } else if inpu..
시간복잡도(Big-O)에 데이터의 크기를 넣어서 나온 값이 100,000,000(10^8)이 넘으면 시간 제한 초과할 가능성이 있다. 정수가 저장된 배열 nums이 주어졌을 떄, nums의 원소중 두 숫자를 더해서 target이 될수 있으면 True 불가능하면 False를 반환하세요. 같은 원소를 두 번 사용할 수 없습니다. class Node { var value: String var prev: Node? var next: Node? init(value: String) { self.value = value } } class BrowserHistory { var head: Node var current: Node init(_ homepage: String) { let newNode: Node = .ini..
class Node { var value: Int var nextNode: Node? var prevNode: Node? init(value: Int = 0, next: Node? = nil, prev: Node? = nil) { self.value = value self.nextNode = next self.prevNode = prev } } class LinkedList { var size: Int = 0 var head: Node? var tail: Node? func insertBack(value: Int) { let newNode = Node(value: value) if head == nil { head = newNode tail = newNode } else { tail?.nextNode =..
정렬은 O(nlogn) 정수가 저장된 배열 nums이 주어졌을 떄, nums의 원소중 두 숫자를 더해서 target이 될수 있으면 True 불가능하면 False를 반환하세요. 같은 원소를 두 번 사용할 수 없습니다. func twoPointer() -> Bool { var nums: [Int] = [4,1,9,7,5,3,16] let target = 14 var l = 0 var r = nums.count - 1 //O(nlongn) nums.sort() //O(n) while l target { r -= 1 } else if nums[l] + nums[r] < target { l += 1 } else if nums[l] + nums[r] == targ..
시간복잡도(Big-O)에 데이터의 크기를 넣어서 나온 값이 100,000,000(10^8)이 넘으면 시간 제한 초과할 가능성이 있다. 정수가 저장된 배열 nums이 주어졌을 떄, nums의 원소중 두 숫자를 더해서 target이 될수 있으면 True 불가능하면 False를 반환하세요. 같은 원소를 두 번 사용할 수 없습니다. input: nums = {4,1,9,7,3,5,16}, target: 14 output: True 제약조건 2
JSON 파싱시 특정 Key를 아예 전달해주지 않을때 Decoding Error를 회피하는 방법 예시 정상 요청 data: {test1: "123", test2:"123"}, message: "", status: "SUCCESS" 비정상 요청 message: "잘못된 요청입니다.", status: "FAIL" 해결 방법 final class ExampleDTO: Codable { var data: Dummy? var message, status: String? private enum CodingKeys: String, CodingKey{ case data, message, status } required init(from decoder: Decoder) throws { let container = try..