안녕하세요 :) 오늘은 알고리즘 포스팅이에요 재밌는 문제가 있길래 오랜만에!!!! 가져왔습니다 105번 문제이고 난이도는 Medium, 현재 Acceptance는 63.5%입니다 문제로 넘어갈게요 먼저 두 인티저 배열들인 preorder과 inorder이 주어집니다 preorder은 이진트리의 전위(preorder) 순회이고 inorder은 같은 트리의 중위(inorder) 순회래요 이 두 배열을 보고 우리는 이진트리를 생성하고 반환해야 해요 즉 인풋으로 preorder, inorder 배열들이 주어질 건데 이 정보를 가지고 이진트리를 만들어서 리턴해! 첫 번째 예제 두 번째 예제 제약들도 있으니 참고 자 이제 문제를 풀어봅시다 ⭐️ 문제 풀기 전에 알아야 할 중요한 두 가지 사실이 있어요 ⭐️ 1. p..
안녕하세요 오늘은 371 문제를 풀어보겠습니다. 난이도는 Medium, Acceptance는 50.6%입니다. 문제를 봅시다아 두 정수 a,b가 주어지면 두 정수를 더한 값을 리턴해라. 단 +,- 연산자는 쓰지마 Example 1번을 살펴보면 1, 2를 더한 값인 3을 리턴해주고 Example 2번을 살펴보면 2,3을 더한 값인 5를 리턴해줍니다. 마음으로는 advanced(by: ) 함수 써서 끝낼 텐데^^,, func getSum(_ a: Int, _ b: Int) -> Int { return a.advanced(by: b) } 조금 남은 양심이 말리네요. 근데 21년 5월 30일에 그렇게 풀었음ㅋ 심지어 22년 9월 15일에도 동일하게 advanced(by: )로 풀었음ㅋ 이 정도면 잔머리 대마왕..
오늘은 118,119 문제를 풀어보겠습니다. 모두 파스칼 삼각형 관련 문제고 난이도 Easy, Acceptance는 64.3%, 57.4%입니다. 먼저 118부터 ㄲ 정수형 numRows가 주어지면, 파스칼의 삼각형에서 첫 번째 numRows를 리턴하세요. 파스칼의 삼각형에서 각 숫자는 바로 위 두 수들을 더한 값입니다. 3번째 줄에서 2는 바로 위 1과 1를 더한 값입니다. 마지막 5번째 줄에서 6은 바로 위 3과 3을 더한 값입니다. 여기서 파스칼의 삼각형 규칙은? 첫 번째 줄은 무조건 1입니다. 각 row의 시작과 끝은 무조건 1입니다. n번째 row에는 모두 (n)개의 수가 있습니다. (index라고 치면 n번째에 n + 1개) 주어진 예를 보겠습니다. 1번 예제 numRows로 5를 받았으면, ..
오늘은 11번을 풀어보겠습니다. 중간 난이도고 53.9%의 성공률을 보입니다. ㄱㄱ 길이가 n인 height 정수 배열이 제공됩니다. i번째 선의 두 점이 (i, 0) 그리고 (i, height[i])처럼 n개의 수직선이 그려집니다. 컨테이너에 가장 많은 물이 포함될 수 있는 x축인 두 개의 선을 찾으세요. 컨테이너가 저장할 수 있는 최대 물의 양을 리턴해야합니다. 컨테이너를 기울이는 건 안된다고 합니다. 주어진 예시를 보겠습니다. [1,8,6,2,5,4,8,3,7] 9개의 높이를 받았고 인덱스에 맞게 높이를 그려주면 위 이미지와 같습니다. 컨테이너가 저장할 수 있는 최대 물의 양을 리턴해야 하니 컨테이너가 클수록 좋습니다. 해당 예제에서는 1번째 인덱스 8 그리고 8번째 인덱스 7에서 직선을 만들었을 ..
오늘은 1975문제를 풀어보겠습니다. 중간 난이도며 43.9%의 성공률을 보이고 있네요. 문제를 살펴봅시다. n x n 정수 행렬이 주어지고 행렬의 인접한 두 요소를 선택해 각각에 -1을 곱하는 연산을 마음껏 할 수 있습니다. (단 border를 공유하는 경우에만 인접하다고 간주됩니다.) 그렇게 만든 행렬 요소의 합이 최댓값이 된다면 리턴하면 됩니다. 예시를 봅시다. 1번 예시: [1, -1] [-1, 1] 첫 번째 행에 -1을 곱해줍니다. [-1, 1] [-1, 1] 다음 첫 번째 열에 -1을 곱해줍니다. [1, 1] [1, 1] 모든 원소의 합은 4가 되고 최댓값이 됩니다. 2번 예시: [1 ,2, 3] [-1, -2, -3] [1, 2, 3] 두 번째 행에 마지막 두 원소에 -1을 곱해줍니다. [1..
오늘은 648번을 풀어보겠습니다. 중간 난이도고 61.0%의 성공률을 보입니다. 그럼 시작 영어에서는 root라는 개념이 있습니다. 이 루트 뒤에 successor가 따라와 더 긴 단어가 될 수 있습니다. 예를 들어 root인 an와 그 뒤에 successor other이 붙으면 새로운 단어 another이 됩니다. 루트들로 구성된 딕셔너리가 주어지고 공백에 따라 분리되는 단어로 구성된 sentence를 root로 바꿔 재구성을 하면 됩니다. 만약 successor가 하나 이상의 root와 교체될 수 있다면 가장 짧은걸 root로 사용하면 됩니다. 즉 sentence안에 successors들이 있는 거고 root로 바꿀 수 있으면 바꾸어 문장을 재구성을 하면 됩니다. 여러 개의 root로 바꿀 수 있다면..
오늘은 18번 문제를 풀어보겠습니다. 중간 난이도고 36.5%의 성공률을 보이네요. 오늘 주제는 Two Pointers입니다. n정수들로 구성된 nums배열이 주어지면, nums[a], nums[b], nums[c], nums[d]는 a,b,c,d는 0이상 n미만이고 a,b,c,d는 별개이고 nums[a], nums[b], nums[c], nums[d]의 합이 target과 같은 유니크한 quadruplets의 배열을 리턴하세요. 순서는 상관없습니다. 예시를 보겠습니다. 1번을 보면 아웃풋으로 나온 각 1차 배열들의 원소를 합치면 타깃이 됩니다. -2 + -1 + 1 + 2 = 0 -2 + 0 + 0 + 2 = 0 -1 + 0 + 0 + 1 = 0 이렇게 타깃으로 되는 배열을 만들어서 리턴해주면 됩니다...
오늘은 59번 문제인 Spiral Matrix II를 풀어보겠습니다. 중간 난이도이고 59.5%의 성공률을 보이네요. 오늘의 주제는 matrix 행렬입니다. 먼저 문제를 살펴볼게요! 양의 정수 n이 주어지고, 1부터 n^2까지 나선형 순서로 숫자를 채워 n x n의 행렬을 만들어내라. 제약조건으로는 n이 1이상 20이하네요. 아래 예시를 보면 바로 이해되실거에요. 1번 예시는 n이 3으로 들어왔고 나선형 순서로 1부터 9까지 채워나가는거에요. 2번 예시는 n이 1으로 들어왔고 나선현 순서로 1부터 1까지 채워나가는거에요. 그리고 채워진 2차 행렬을 그대로 리턴해주면 됩니다. TMI 예전에.. 정처기(정보처리기사) 시험을 쳐본적이 있는데 언제지... 4년 전인가... 그 시험에서 요 문제가 나왔었어요. 이..
- Total
- Today
- Yesterday
- 문자열
- swift5
- objective-c
- 알고리즘
- string
- 스위프트UI
- iOS SwiftUI
- 머신러닝
- Animation
- 독서
- Algorithm
- Deep learning
- wwdc
- RX
- stanford SwiftUI
- ios
- 책 추천
- 책
- 딥러닝
- ReactiveX
- Xcode
- 스위프트
- swiftUI
- rxswift
- objc
- 애니메이션
- leetcode
- ARC
- SWIFT
- 책 후기
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |