일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 백준
- CS
- sql
- Level3
- Level1
- dp
- 프로그래밍
- 리트코드
- python
- Level2
- Doitvue.js입문
- VUE
- LeetCode
- typescript
- 파이썬
- web
- 코테연습
- 카카오
- 프로그래머스
- Medium
- 배열
- 자바스크립트
- 동적계획법
- javascript
- 웹프로그래밍
- C++
- OS
- react
- 리액트
- 고득점Kit
- Today
- Total
목록Easy (7)
1. Two Sum 문제 Given an array of integers nums and an integer target, return indices of the two numbers such that they add up to target. You may assume that each input would have *exactly* one solution, and you may not use the same element twice. You can return the answer in any order. 제한사항 1
88. Merge Sorted Array 문제 You are given two integer arrays nums1 and nums2, sorted in non-decreasing order, and two integers m and n, representing the number of elements in nums1 and nums2 respectively. Merge nums1 and nums2 into a single array sorted in non-decreasing order. The final sorted array should not be returned by the function, but instead be stored inside the array nums1. To accommoda..
680. Valid Palindrome II 문제 Given a string s, return true if the s can be palindrome after deleting at most one character from it. 최대 하나의 문자를 제거해서 팰린드롭이 될 수 있는지 확인하는 문제 제한사항 1 bool: return self.makePalindrome(s, 0, len(s) - 1, 0) 최대 한 번이기 때문에 백트래킹을 사용하지 않고 더 간단하게 정리할 수도 있다. 일치하지 않은 케이스와 start를 제거한 부분과 end를 제거한 케이스로 슬라이싱 한 후 둘 중에 하나라도 팰린드롭인지 확인하면된다. class Solution: def validPalindrome(self, s: st..
125. Valid Palindrome 문제 A phrase is a palindrome if, after converting all uppercase letters into lowercase letters and removing all non-alphanumeric characters, it reads the same forward and backward. Alphanumeric characters include letters and numbers. Given a string s, return true if it is a palindrome, or false otherwise. 제한사항 1 bool: beg, end = 0, len(s) - 1 while beg
415. Add Strings Given two non-negative integers, num1 and num2 represented as string, return the sum of num1 and num2 as a string. You must solve the problem without using any built-in library for handling large integers (such as BigInteger). You must also not convert the inputs to integers directly. class Solution: def addStrings(self, num1: str, num2: str) -> str: carry = 0 res = [] p1 = len(..
724. Find Pivot Index 오른쪽 숫자들의 합과 왼쪽 숫자들의 합이 같아지는 피벗의 위치 찾기 [1, 8, 2, 9, 2, 3, 6] : 9 [2, 5, 7] : -1 (가능한 피벗이 없음) Brute-force? o(n) * n -> o (n ^ 2) 비효율적임 sliding 전체 합계를 구해준다. 피벗을 0부터 한 칸씩 움직이면서 right sum에는 빼고 left sum에는 이전 피벗 값을 더해준다. right sum과 left sum이 같아지는 지점을 찾는다. [1, 8, 2, 9, 2, 3, 6] 0 | sum() - 1 1 + 0 | sum() - 1 - 8 8 + 1 + 0 | sum() - 1 - 8 - 2 . . . 전체 합계를 구하는데 O(n) 매번 오퍼레이션이 O(1)..
283. Move Zeroes in place(나머지 숫자의 순서를 바꾸지 않고) 로 0을 오른쪽으로 옮기기 [0, 5, 0, 7, 6, 3] 0을 무조건 오른쪽으로 옮긴다면? 나머지 숫자를 한 칸씩 앞으로 옮겨야하므로 오퍼레이션이 복잡해짐 0을 버블 스왑한다면 ? O(n * 0의 개수)로 시간 복잡도가 너무 커짐 basic Idea 0을 찾아서 옮긴다면 나머지 숫자들의 순서가 바뀌지 않아야 하므로 버블 스왑 할 수 밖에 없음 그렇다면 0이 아닌 숫자를 찾아서 왼쪽으로 옮긴다면? 숫자만 옮기면 되니까 순서가 바뀔 일이 없음 [0,0,0,0,5,9,3] [5,0,0,0,0,9,3] [5,9,0,0,0,0,3] [5,9,3,0,0,0,0] 투포인터를 사용한다. start : 0을 가리킴 end : 0이 아닌..