본문 바로가기

분류 전체보기190

가장 긴 펠린드롬 (구현 , 최적화(?)) 단순한 문제이지만 구현후 성능 문제가 있을 것이라 예상했고 dp등을 생각해보았지만 딱히 떠오지않아서 다른 사람들의 풀이를 참고했습니다. 구현 내용은 같으나 가장 긴 것부터 파악하도록 구현하면 2번도 통과가 가능합니다. 여기서 깨달은 것은 저도 가장 긴것부터 하면 된다는 것은 알았지만, 그러한 태도가 습관화되어있지는 않는 것같습니다. 문제에서 그런 사소한 점으로 정오답이 갈리게 해놨을까 이러한 생각을 무의식에 가지고 있기도 했던 것 같습니다. 쉬운 문제나 어려운 문제를 구분하지 않고 항상 최선의 코드를 짤 수 있는 사람이 되겠다는 생각이 들었습니다. def isPalindrome(s): ln = len(s) i = 0 j = ln-1 con = True while ilen(s): continue # pri.. 2021. 7. 7.
줄세우기 (위상정렬) 하나의 개념을 이해하는데서 그치는게 아니라 이를 활용하려면 여러 군데에 응용해서 활용해보는 것이 가장 효과적인 것 같습니다. 위상정렬 또한 개념을 이해했지만 구현하려고 하니 막히거나 다른 부분과 헷갈리는 부분이 있었고 복습 겸 간단히 풀어보았습니다. from collections import deque n , m = map(int,input().split()) q = deque() indegree = [0]*(n+1) board = [[] for _ in range(n+1)] # print(board) for i in range(m): a , b = map(int ,input().split()) indegree[b]+=1 board[a].append(b) for i in range(1,n+1): if i.. 2021. 7. 3.
ASGI와 WSGI Asynchronous Server Gateway Interface Web Server Gateway Interface 미들웨어의 역사에 관하여 조사하기. 참조: https://hello-world.kr/40 2021. 6. 23.
Monkey pathcing의 의미와 장단점 글을 읽던 도중 Monkey patching이라는 단어가 나왔고 몰랐던 단어라 조금 조사해보았습니다. Monkey patching이란 기존 존재하던 코드를 런타임시에 기존 코드에 기능의 추가, 수정, 삭제 등을 진행하는 것입니다. 우선 멍키 패칭의 단점은 프로그램 버전의 발전에 따라 기존 함수가 어떻게 변경될지 몰라 충돌이 발생할 수 있다는 것이고, 두번째는 만약 이렇게 수정하게 됐을때 다른 개발자가 이를 또 다른 형식으로 수정했을 수도 있다면 마찬가지로 큰 충돌이 발생할 수 있고 다른 두가지 버전으로 갈릴 수 있다는 것입니다. 그래서 일반적으로는 그 함수의 내부가 아닌 utility 함수를 만들어서 이를 응용하는 식의 구현을 하는 것이 바람직할 것입니다. (존재하는지 아닌지 확인 후 가져올 수 있고 별.. 2021. 6. 23.