본문 바로가기

전체 글

그리디(greedy) 컨닝페이퍼 greedy라 아주 맘에 드는 이름이다.-> 내 식성과 비슷한거같다 후후후 근데 뭔가 이름이 거창하지만 진짜 별거 없는거같다 그리고 이따구로 푸는게 맞나싶다 그냥 기도 메타랑 다를께 뭔데 그냥 단계단계별로 최고 좋은 조건 고르고 최적해와 맞기를 기도하는거다 그래서 최적해가 아닐수있고 정확히 말하자면 최적해임을 검증하는 과정이 필요하다. 그래서 근사값을 뽑아낼수있는 하나의 전략이라고 보면된다. 근데 우리는 풀기만 하면 장땡이니까 좀 애매하면 써봐서 풀리면 좋은거지뭐 그리디 알고리즘의 특징은 극단적인걸 좋아하는데 -> 무조건 큰경우부터 , 무조건 작은 경우부터, 무조건 긴 경우 부터, 무조건 짧은 경우부터 이런식으로 문제를 접근할때 극단적인 시각으로 접근하면된다 . 그래서 정렬과 함께 사용하는 경우가 많다... 더보기
Bruteforce를 위한 순열,조합 컨닝페이퍼 자 이제 짐승같이 문제를 풀기위하여 Bruteforce를 하는데 일단 많이 나오는 순열,조합,중복순열,중복조합 각각 무슨라이브러리 임포트 해야하는지 어느건지 한줄 설명 간다. -> 이거 안하면 맨날 잊어버려 ㅠㅠ 아 맞다 시간복잡도 까지해서 n몇 넘으면 박살나는지도 적어야겠다 순열 뭐써야하는가? -> permutations import itertools a = [1,2,3,4] res = itertools.permutations(a, 2) 순서를 고려해서 뽑는 경우의수 -> 서로다른 n개에서 r개를 택하여 일렬로 나열하는 경우의 수. -> 이거는 앞뒤 순서 관계까지 고려한거 ex)(1,2) (2,1) 이 다른거 5개에서 3개 뽑는다면 5x4x3 = 60 임 123에서 2개 뽑는경우 (1, 2) (1, 3.. 더보기
파이썬 자료구조 컨닝페이퍼 각 자료구조들 파이썬의 무엇을 이용해서 구현하는지에 대한 간단한 컨닝페이퍼다. 각 자료구조의 기본 함수들의 시간복잡도도 정리했다(어디서 가져왔다) 배열 그냥 당연히 List 써라 파이썬 공부하면 알꺼아냐 딕셔너리 dictionary 쓰면 될것이다. 링크드 리스트 파이썬은 링크드 리스트 그냥 쓰면된다 리스트 자체가 배열의 단점 (크기 고정) 이런거 다 해결되어있다 -> 배열 이어붙이기,중간삽입,삭제 이제 트리 같은거 만드려고 node 같은거 쓰는 것들은 나중에 정리해야겠다. 리스트 쓴다면 위의 시간복잡도 참고하면 될것이다. 스택 그냥 push,pop,top 가 빠르면 스택으로 쓰면되고 파이썬에서는 리스트 쓰면된다 -> 파이썬의 리스트 시간복잡도 찹고해보자 각 기능에대한 파이썬 함수 큐 collections.. 더보기
시간복잡도에 대해서 알고가자 크흐흡 문명주의 자료를 이제야 다시보네 고마워요 명주맨 코테를 급하게 준비하며 명주글을 다시본다 흐흐흑 힘들어 코테 없어졌으면 좋겠다. https://medium.com/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98%EC%9D%80-%EB%AF%B8%EC%B9%9C%EC%A7%93%EC%9D%B4%EB%8B%A4/2-%EC%8B%9C%EA%B3%B5%EA%B0%84%EB%B3%B5%EC%9E%A1%EB%8F%84%EC%99%80-%EC%9E%85%EC%B6%9C%EB%A0%A5-1df25ebaeede _2_ 시공간복잡도와 알고리즘 문제풀이에서의 시공간복잡도를 알아봅시다. medium.com 내가 보는 자료여서 내가 필요한 것들만 정리하고 넘어가려고 한다 -> 요약요약 1. 시간복잡도는 Big.. 더보기
코루틴에 대해서 제대로 공부해보자 -1- 소셜로그인에서 401에러 처리 관련하여 coroutine exception handler 를 사용하여 에러처리를 하고있는데 그부분에 대해서 글을 작성하려다보니 코루틴에대해서 다시 검색해보고 공부할 기회가 생겼고 코루틴이 정말 이해가 잘되지않았지만 나름의 정의를 내리고 사용하고 있었는데 뭔가 확 와닿는 부분이 생겨서 그부분에 대해 정리해보고자 코루틴 관련 시리즈 글을 써보려고한다. 아 그리고 매번 글을 길게 쓰다보니 글들이 길어지고 매번 쓰다가 지치는 경향이있어서 이번은 주제를 작게잡고 짧은 글들을 써볼 예정이다. 코루틴을 처음 접한때가 작년 이맘때 쯤인거 같은데 이제서야 슬슬 이해가 되는것을 보니 역시 이해가 안되는 개념과 어려운 이야기들은 용어가 익숙하지 못해서 어려움을 느끼는 것이 크다고 생각한다. .. 더보기
소셜 로그인을 적용해보자 -1부- 자 이제 또 앱잼시즌이 도래했다 앱잼에서는 소셜로그인을 많이 쓰니까 소셜로그인의 사용법을 알아보고 기타 로그인 관련 처리는 어떻게 하였는지 그리고 예시로서 소셜 로그인 중 카카오와 네이버를 적용해볼 것이다. 일단 어느시점에 시작했는가 스파크를 할때만해도 너무 응애였기 때문에 토큰관계 이런거 하나도 몰랐고 알려들지도 않았다 그걸 뚝딱뚝딱 만들어내는 연주랑 영권이를 보면서 난 저런거 언제나 할수있냐 하면서 절망했을뿐 근데 막상해보니 별거 아니였다. 쿠쿠루삥뽕 최초로 리드미에서 네이버 로그인을 구현하였고 포토서퍼에서 카카오 로그인과 네이버 로그인을 같이 하게 되어 그 부분을 글로 정리해보려한다. 로그인에는 단순 로그인만 시키는것이 아닌 토큰이 만료되었을때 나는 에러인 401에러가 났을시 어떠한 방법으로 재 로.. 더보기
서버통신 시리즈(오류처리) 3.오류처리를 기깔나게 해보자 자 이번에 쓸글은 서버통신 시리즈 3편이다 ??? 2편도 없는데 3편? 2편으로 쓸려했던 "과연 레트로핏,okhttp 를 잘 알고 쓰는것일까?" 에 대해선 글을 쓸양이 정리하기 시작하면 너무 방대하고 그렇다고 요약하기에는 너무 양이 적었다. 그래서 이번글을 쓰면서 공부했던 내용인 오류처리를 위해서 당연히 레트로핏,okhttp 에 대해서도 다 공부하고 짚어봤지만 일단은 당장 프로젝트에 적용해서 정리하기 쉬운 3편부터 글을 작성하고 프리퀄로 2편을 작성해볼까한다. 이제 본론으로 들어가보자 글을 다쓰고 보니까 글이 너무 두서없다 하지만 진짜 이거 공부하면서 너무어려워서 과부화가 많이왔다. 그리고 내 미천한 글솜씨로는 더이상 간결하게 표현할 자신도 없기에 페르마처럼 나는 경이로운 방법으로 설명했으나 여백이 충분.. 더보기
서버통신 시리즈(레트로핏) 1.서버통신시 에러메시지를 받아보자!! 요즘 글 쓰는 주기가 부쩍 늘어났다 공부하는 내용들이 어려워서 금방금방 정리가 안된다. 그래도 정신차리고 쪼개서라도 써보자 또한 앞으로 레트로핏 관련 오류처리 공부를 시리즈로 적어볼까 생각중이다. (한번에 쓸려다가 너무 방대해서 아예글을 안쓸거 같아서 쪼개서 써야겠다) 그 중 첫번째 내용으로 오류 메시지를 뽑아봤던 경험을 정말 거지같이(시간에 쫓기며) 뽑은거에서부터 예쁘게 코드를 정돈해서 리펙토링해서 뽑은것까지에 대한 내용이 이번글의 주제이다. 이런 관련 공부를 하게된 계기는 또 스파크로부터 비롯 되었다. 일단 공부하게된 계기는 이렇다 스파크 기능을 구현하던중 코드로 방입장이라는 기능이 있었다. 어떠한 기능이냐하면 코드를 입력하면 서버통신 성공시 방에대한 정보가 오게 되는데 성공시 정보 { "status.. 더보기