본문 바로가기

개발/알고리즘35

[leetcode] week1 - Move Zeroes https://leetcode.com/explore/challenge/card/30-day-leetcoding-challenge/528/week-1/3286/ 0을 모두 배열의 끝으로 옮기는 것으로 연산을 최대한 줄이는 것이 목표다. 풀이- p라는 포인터를 설정해서 0이 아닌 숫자를 만날 때까지 멈춰있다가 0을 만나면 1씩 증가한다.1. 배열을 처음부터 끝까지 탐색한다.2. 0을 찾으면 0을 지우고 0을 배열 맨 뒤에 더한다.3. 0이 아니면 p를 1증가한다. 코드del은 O(n)이고 if는 0의 개수(n-p)니까 O(n(n-p))class Solution: def moveZeroes(self, nums: List[int]) -> None: """ Do not return anything, modify .. 2020. 4. 13.
[leetcode] week1 - Maximum Subarray https://leetcode.com/explore/challenge/card/30-day-leetcoding-challenge/528/week-1/3285/ Account Login - 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 어려워서 검색해보니 위키에 간단하게 소개가 돼 있었다. : Maximum_subarray_problem 2차원 배열 bruth-force : O(n6) 수식을 사용해서 1차원 배열 bruth-force로 해결 : O(n2) - 내가.. 2020. 4. 12.
[leetcode] week1 - Happy Number https://leetcode.com/explore/challenge/card/30-day-leetcoding-challenge/528/week-1/3284/ 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. 각 자리수의 합의 길이가 1이하일 때까지 계속 돌린다 3. 각 자리수의 합이 1이면 true,.. 2020. 4. 11.
[leetcode] week1 - single number https://leetcode.com/explore/challenge/card/30-day-leetcoding-challenge/528/week-1/3283/ Account Login - 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 풀이 1. nums의 첫번째 원소를 리스트 L에 넣는다. 2. nums의 두번째 원소부터 마지막 원소까지 리스트 L과 비교를 한다. -> L에 있는 원소들과 nums[i]가 같으면 L의 원소를 제거한다. 비교를 멈춘다 3. 원소가 .. 2020. 4. 10.
[프로그래머스] K번째 수 https://programmers.co.kr/learn/courses/30/lessons/42748?language=python3 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 해석 1) array의 i번째 숫자부터 j번째 숫자까지 자르기 => array[i-1:j] 2) 자른 배열을 정렬하기 => 정렬 아무거나. python의 내장 sort 함수를 사용 3) 자른 배열의 k번째 숫자 => array[k-1] sort함수는 구글링 해보니 O(nlogn)인 것 같다 https://stackoverflow.com/questions/14434490/wh.. 2020. 4. 8.