Loading...

오랜만에 무서운 꿈을 꿨다 + 개그 엔딩..?

어쩐 일인지 좀비 사태가 일어나서 친구들과 모여서 학교 같은 곳에서 좀비 퇴치 연습같은거 하고 있었는데 (근데 비비탄 권총으로 맞은편 아파트 문양 맞추기 같은걸 했었음ㅋㅋ왜지) 갑자기 학교 강당 같은 곳에 좀비가 천장 부근에서 쏟아져내려서(비오듯이 쏟아졌다) 다들 몸을 낮추고 천을 덮어서 그 밑에 숨었다 어떻게 된 건지 머리를 들고 살펴보는데 어떤 중년 남자가 의자같은 곳에 앉아있고 우리를 한 명씩 죽인다는 것이다 근데 여기서 공포에 떨었는데 우리를 그냥 좀비한테 물리게 하거나 그냥 죽이는게 아니라 영화 쏘우처럼 평범하게는 못 죽는다는 것을 알게되어서 그게 무서워서 꿈 속인데도 덜덜 떨었다 이때부터는 꿈인걸 알고 있었는데도 깨지는 않았고 그렇게 죽기가 무서워서 독약을 먹고 자살할 생각에 가득차서 있을리가..

[LeetCode] 파이썬 알고리즘 인터뷰 리뷰 복습하며 다시 풀기 (2020.11.10)

파이썬 알고리즘 인터뷰 책을 기반으로 공부했는데 (다른 알고리즘 시험에서 안나올 것 같은 뒷 부분이나 중간에 링크드 리스트 부분은 좀 넘겼다) 까먹은 부분 복습할 겸 처음부터 다시 풀어보았다 요즘 사이드 프로젝트 때문에 리액트만 하고 있어서 자꾸 알고리즘을 푸는 감각을 잃는 것 같다 다시 건들어보려고 한다 125번. 펠림드롬 - 한 번에 성공 leetcode.com/problems/valid-palindrome/submissions/ from collections import deque class Solution: def isPalindrome(self, s: str) -> bool: s=[c.lower() for c in s if c.isalnum()] return s==s[::-1] 344번. 문자열..

[LeetCode] 7.Reverse Integer (문자열 연산)

숫자를 문자열로 변환해서 뒤집은 다음 연산한다 class Solution: def reverse(self, x: int) -> int: x=str(x) x=x[::-1] if x[-1]=='-': x=int('-'+x[:-1]) x=int(x) if x>2**31-1 or x

2020. 11. 4. 23:59

[ReactJS] Presentational 컴포넌트 vs Container 컴포넌트

출처 (이 글은 아래 글을 공부하며 요약 정리한 글입니다 + 주석) redux.vlpt.us/1-2-presentational-and-container-components.html 리액트 창시자 Dan Abramov가 고안한 패턴이다 medium.com/@dan_abramov/smart-and-dumb-components-7ca2f9a7c7d0 다만 2019년도에 추가한 글로는 불필요한 곳에서 사용할 만큼 꼭 지켜야되는 것은 아니라고 설명하고 있다 이 구조에 대한 글을 쓴게 후회될 정도라고..(트위터글 참고 twitter.com/dan_abramov/status/802569801906475008) 프레젠테이셔널 컴포넌트 View 만을 담당하는 컴포넌트이다 (UI를 작성한다) 이 컴포넌트 안에서는 프레젠테..

[LeetCode] 15. 3sum (python, javascript, two pointer)

제일 왼쪽은 고정해놓고 그 오른쪽만 투포인터로 계산한다. O(n^2) 정렬해놓고 합이 작으면 더 큰 곳으로 이동하고 크면 오른쪽 포인터를 왼쪽으로 이동시킨다 같은 원소가 있는 부분은 넘어가면서 구한다 1. python class Solution: def threeSum(self, nums: List[int]) -> List[List[int]]: nums.sort() res=[] for i in range(len(nums)-2): if i>0 and nums[i]==nums[i-1]: continue # 중복인 경우 넘어간다 left,right=i+1,len(nums)-1 while left

[LeetCode] 42. trapping rain water (python, javascript, two pointer)

각 왼쪽, 오른쪽 끝에서 시작한다. 왼쪽의 벽이 더 높으면 오른쪽에서 안쪽으로 이동하고 (더 큰 벽을 찾아서) 오른쪽 벽이 더 높다면 왼쪽에서 안쪽으로 이동한다. 만약 현재 왼쪽에서 안쪽으로 이동하는데 지금까지 왼쪽에서 만난 벽 중 가장 높은 위치 lh 보다 작은 곳이라면 물이 고이므로 lh-height[l] 이런 식으로 더해준다. 1. python class Solution: def trap(self, height: List[int]) -> int: if not height: return 0 left,right=0,len(height)-1 l_max,r_max=height[left],height[right] amount=0 while left

[LeetCode] 198. house robber (dp, python)

연속된 집은 털 수 없다. 바로 이전 집의 dp값이나 두 번째 전 집에서 현재 집을 턴 합 중 더 큰 값이 현재 위치의 집에서 가장 큰 값이 된다 from collections import defaultdict class Solution: def rob(self, nums: List[int]) -> int: if not nums: return 0 if len(nums)

[Leetcode] climbstairs (python, dp)

계단 오르기 문제 메모이제이션으로 재귀로 풀어도 되고 반복문으로 풀어도 된다 1계단에 오르는 방법 1로 가는거 한 가지, 2 계단에 오르는 법은 1에서 1칸 가는 방법, 0에서 2칸 가는 방법 2가지로 초기화한다. 나머지만 현재 위치보다 1칸 아래에서 오는 방법과 2칸 아래에서 오는 방법을 더해주면 된다 from collections import defaultdict class Solution: def climbStairs(self, n: int) -> int: dp=defaultdict(int) dp[1]=1 dp[2]=2 for i in range(3,n+1): dp[i]=dp[i-1]+dp[i-2] return dp[n]

2020. 10. 30. 19:54

[React] 파일 절대 경로 설정 (jsconfig.json)

가끔씩 파일 경로를 import 하다보면 길어서 불편할 때가 있다 import Test from '../../../Test'; 그래서 나는 항상 절대 경로를 설정해준다 javascript이므로 jsconfig.json 파일을 만들어서 해주면 된다 기본 CRA 프로젝트를 생성하면 src 파일이 있는데 이 파일에 대부분의 소스코드를 넣으니 여기를 기준으로 하면 된다 jsconfig.json (package.json과 같은 위치에 만들어준다) { "compilerOptions": { "baseUrl": "src" }, "include": [ "src" ] } 이렇게 하면 src 키워드 없이 절대 경로로 import 하면 된다 components 밑의 Temp컴포넌트를 App.js로 import 해보겠다 imp..

2020. 10. 28. 18:31

[codility] Prefix Sums - MinAvgTwoSlice (python)

수학적인 풀이가 대부분이라 수학적으로 풀었는데 그렇게 풀기 위한게 맞는 건지 모르겠다 알고리즘 능력 기르려고 대표 문제 풀때는 수학적인 문제 나오면 좀 싫다 ㅠㅠ 배열이 2개인 경우와 3개인 경우로 나눠서 풀면 되는데 4개인 경우에는 배열 2개인 경우보다 절대로 작을 수 없기 때문이다. (수학 공식) # you can write to stdout for debugging purposes, e.g. # print("this is a debug message") def solution(A): # write your code in Python 3.6 min_value=sum(A[:2])/2 ans=0 # 3개인 배열을 위해서 인덱스 제한 for i in range(1,len(A)-2): # 원소 2개인 배열 ..