👨🏻💻iOS 공부/Swift_알고리즘 풀이
[LeetCode] Find All Numbers Disappeared in an Array
https://leetcode.com/problems/find-all-numbers-disappeared-in-an-array/ Find All Numbers Disappeared in an Array - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 주어진 배열의 길이를 N이라고 했을 때 1~N 중 배열에 등장하지 않은 값들을 출력해야하는 문제이다. 난이도 자체도 Easy이어서 쉽게 풀이할 수 있다. 1. 배열에 등장했는지 여부를 판단할 check 배열 2. ..
[LeetCode] Min Cost Climbing Stairs
https://leetcode.com/explore/challenge/card/june-leetcoding-challenge-2021/603/week-1-june-1st-june-7th/3770/ Explore - LeetCode LeetCode Explore is the best place for everyone to start practicing and learning on LeetCode. No matter if you are a beginner or a master, there are always new topics waiting for you to explore. leetcode.com 비용이 담겨 있는 배열을 가지고 있고, 1 혹은 2만큼 이동할 수 있는데 이를 조합하여 최소한의 이동 비용을 ..
[프로그래머스] 방문 길이
https://programmers.co.kr/learn/courses/30/lessons/49994?language=swift# 코딩테스트 연습 - 방문 길이 programmers.co.kr 5x5 그리드 내 (0,0)에 캐릭터가 서있고, 방향이 주어졌을 때 실제로 이동이 가능해야하고, 중복되지 않는 경로만을 거친다고 했을 때 이동한 총 거리를 구해주면된다! 여기서 포인트는 양방향이 가능하기에 이 두 가지를 고려해줘야 한다는 것이다 A > B 와 B > A는 같다!! 정리해보면 중요한 조건은 두 가지이다. 1. 그리드 밖을 벗어나는 이동은 skip한다. 2. 이미 지나간 경로를 세주지 않는다. 문제의 예를 봐보자. 1부터 7까지는 중복 및 그리드를 벗어나지 않고 잘 이동할 수 있다. 하지만 8,9는 기..
[프로그래머스] 순위 검색
https://programmers.co.kr/learn/courses/30/lessons/72412?language=swift 이분탐색 3-2. query의 score보다 높은 점수의 개수를 세서 append 4. db에 없다면 0 추가 경우의 수를 따져서 key, value 쌍으로 만들어둔다는게 핵심 아이디어인 것 같다. 사실 O(nm)의 복잡도로 풀이되는 방법만 알고있었는데, 이는 효율적이지 못하기에 위 처럼 경우의 수를 구해두고 query와 비교하는 것이 더 효율적인 것 같다. import Foundation func solution(_ info:[String], _ query:[String]) -> [Int] { // 문자열 요소를 배열로! var info = info.map {$0.replac..
[프로그래머스] 가장 큰 정사각형 찾기
https://programmers.co.kr/learn/courses/30/lessons/12905?language=swift 코딩테스트 연습 - 가장 큰 정사각형 찾기 [[0,1,1,1],[1,1,1,1],[1,1,1,1],[0,0,1,0]] 9 programmers.co.kr 행렬을 받고 가장 큰 정사각형을 만들 때 그 넓이가 얼마가 되는지 구하는 문제이다. 음... 문제를 읽다보니 어디서 본 것 같은 느낌이 든다.. Count Square Submatrices with All Ones Count Square Submatrices with All Ones - LeetCode Level up your coding skills and quickly land a job. This is the best p..
[프로그래머스] 이중우선순위큐
https://programmers.co.kr/learn/courses/30/lessons/42628?language=swift 코딩테스트 연습 - 이중우선순위큐 programmers.co.kr 이중우선순위 큐 문제. Lev 3에 해당하는 문제인데 3단계보다 더 아래인 듯한 느낌이다.. 다른 2단계 문제가 어려워서일지도...? 아무튼 queue의 특성인 FIFO를 활용하면 된다. 근데 문제를 보면 최댓값, 최솟값을 찾아서 제거해야하는 부분을 볼 수 있다. 이건 그냥 FIFO만으로는 구현해낼 수 없기에 조건에 맞게 정렬 또한 해줘야 한다. 오름차순하여 FIFO하면 최솟값을 얻을 수 있는 것이고, 내림차순하여 FIFO하면 최댓값을 얻을 수 있다. 그 이외의 것들은 케이스만 잘 따져주면 된다! import F..