본문 바로가기

INT NUM

(170)
Divide Two Integers | LeetCode 820 | Python3 🐍 📄 목차 🤔 문제 : Divide Two Integers | LeetCode 820 문제: https://leetcode.com/explore/interview/card/top-interview-questions-medium/113/math/820/ 나눗셈 연산자를 사용하지 않고 나눗셈의 몫을 구하는 문제입니다. 초등학교에서 배운.. 10/3 이라 하면 10-3-3-3.. 해서 양수일 때 까지 뺀 횟수를 구하는 방식이 떠오르네요. 1번 풀이는 그 풀이에서 반복을 활용하여 연산횟수를 log로 줄이는 방식이고 2번 풀이는 shift연산자를 활용한 풀이입니다. 💡 풀이 1. 뺄셈 반복을 통한 몫 구하기 16/2 의 몫을 구한다고 하면 16 - 2- 2 - .... 이렇게 2을 반복하여 빼겠지요? 어차피 2로 ..
Search a 2D Matrix II | LeetCode 806 | Python3 🐍 📄 목차 🤔 문제 : Search a 2D Matrix II | LeetCode 806 문제: https://leetcode.com/explore/interview/card/top-interview-questions-medium/110/sorting-and-searching/806/ Matirx상에서 타겟값이 있는지 확인하는 문제입니다. 단, Matrix는 각 행, 열이 모두 정렬되어있습니다. 💡 풀이 1. 각 열에 대해 BS 당연히 BS로 접근해야 하는 문제로 생각했습니다. 1) 각 열의 첫번째 항을 순회합니다. 첫 행을 순회하는게 되겠죠. 2) 열의 첫번재 값이 타겟값보다 작으면, 그 열에 타겟값이 있을 수 있다는 뜻이겠죠? 해당 열에 대해 BS를 합니다. class Solution: def sear..
Search in Rotated Sorted Array | LeetCode 804 | Python3 🐍 📄 목차 🤔 문제 : Search in Rotated Sorted Array | LeetCode 804 문제: https://leetcode.com/explore/interview/card/top-interview-questions-medium/110/sorting-and-searching/804/ 정렬된 배열에서 타겟 숫자의 인덱스를 찾는 문제입니다. 단, 여기서 배열은 rotated 되어있습니다. 예를들어, [0,1,2,4,5,6,7] 배열을 오른쪽으로 4칸 옮겨 [4,5,6,7,0,1,2] 를 만드는 식입니다. 💡 풀이 1. Rotate 된 시작점을 찾은 후 한쪽 범위에서 BS 가장 먼저 떠올린 풀이는 어느부분부터 Rotate된 것인지, pivot을 찾자는 거였습니다. nums = [4,5,6,7,..
[AWS] AWS CDK 시작하기 (1) | Javascript, AWS Configure, CDK Init, CDK deploy, lambda, api gateway 📄 목차 1. AWS & CDK 설정 AWS Configure 기존에 aws configure를 통해 AWS와 로컬이 연결되어 있다면 건너뛰어도 됩니다. aws configure list AWS의 IAM에서 키페어(AWS Access Key, AWS Secret Access Key) 발급 참고) 키페어 발급 https://docs.aws.amazon.com/ko_kr/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-creds terminal에서 aws configure 커맨드를 통해 aws 계정 연결 $ aws configure AWS Access Key ID: [aws 에서 IAM생성하여 입력] AWS Secret ..
Coin Change | LeetCode 809 | Python3 🐍 📄 목차 🤔 문제 : Coin Change | LeetCode 780 문제: https://leetcode.com/explore/interview/card/top-interview-questions-medium/111/dynamic-programming/809/ 동전을 조합하여 가장 적은 동전 조합으로 주어진 금액을 만드는 문제입니다. 전형적인 Dynamic Programming 문제네요. Dynamic Programming 1. 큰 문제는 작은 문제로 나누어 푼다 2. 작은문제에서 푼 정답은 기억해두었다가 동일한 문제가 나오면 그대로 활용한다. 💡 풀이 1. Top Down amount에서 동전만큼씩 깎아내려가는 방식입니다. dp()라는 함수를 recursive하게 호출하게 됩니다. from typin..
Merge Intervals | LeetCode 803 | Python3 🐍 📄 목차 🤔 문제 : Merge Intervals | LeetCode 803 문제: https://leetcode.com/explore/interview/card/top-interview-questions-medium/110/sorting-and-searching/803/ 배열로 주어진 범위(interval)들을 합치는 문제입니다. 예를들어 [1,3], [2,4]가 들어오면 -> [1,4] 로 합쳐집니다. 💡 풀이 접근 : interval이 겹치는 종류 일단 interval끼리 어떤 방식으로 겹칠 수 있을지 생각해보았습니다. 1. left overlapping : 새로 들어오는 interval의 왼쪽 범위가 기존에 있던 범위의 오른쪽에 겹쳐서 들어감 ex) 기존 : [1, 3] 신규: [2, 4] -> ..
Search for a Range | LeetCode 802 | Python3 🐍 📄 목차 🤔 문제 : Longest Palindromic Substring | LeetCode 802 문제: https://leetcode.com/explore/interview/card/top-interview-questions-medium/110/sorting-and-searching/802/ 정렬된 배열에서 타겟이값이 나오는 구간을 찾는 문제입니다. time complexity 를 O(logN)으로 하라는 단서가 있습니다. 💡 풀이 1. Binary Search 시작점, 끝점을 찾는 binary search를 두번 수행하는 방식으로 코드를 작성했습니다. class Solution: def searchRange(self, nums: List[int], target: int) -> List[int]: ..
Vue 시작하기 (4) | Github actions + S3로 배포 자동화 📄 목차 1. Amazon IAM 생성 1. 사용자 이름, 자격증명 유형 선택 2. 권한 설정 나머지는 다음 다음 눌러서 넘겨주시면 됩니다. 사용자 추가가 완료되면 키가 포함된 csv를 다운로드 할 수 있습니다. 2. github secrets 세팅 깃헙 프로젝트를 새로 생성하여 작업한 vue 프로젝트를 업로드 합니다. Settings탭 > secrets > actions > New repository secret 아까 S3에서 생성한 key id와 secret을 각각 AWS_ACCESS_KEY_ID, AWS_SECRET_ACCESS_KEY 이름으로 등록합니다. 3. github workflows정의 프로젝트의 루트 디렉토리에 .github/workflows 폴더를 만들고 하위에 deploy.yml 파일..