프로그래머스 코드리뷰 스터디 9기가 어제 날짜로 시작되었다. 👏🏻👏🏻👏🏻
모든 세션에 빠짐없이 참가하고 문풀~리뷰 모두 열심히해서 매니저님처럼 좋은 회사에 취뽀하고싶다. 💪🏻
1주차 세션의 주요 내용은 아무래도 처음이다보니 리더님 소개와 오티, 자구알에 대한 기초적인 내용, 시간복잡도와 문제유형 파악하는 방법을 소개해 주셨고, 사전테스트 문제 풀이로 끝마쳤다.
시간복잡도에 대해서는 대충 100만개 넘으면 for문 하나만 써야됨 이렇게 허접하게 알고 있었는데(ㅠ) 사용할 수 있는 구체적인 접근법까지 제시해 주셔서 앞으로 문제를 볼 때 조금 더 쉽게 접근 할 수 있을 것으로 기대된다.
마지막에 있는 읽을거리가 너무 알차다. 면접 예상 질문 리스트까지 있다..!! 최합까지 화이팅😚
오퍼레이터 사이 한 칸 띄우기
예외처리는 LBYL(if
를 사용한 예외처리 방식)보다 EAFP 방식 try ~ except
권장
(문제 조건에 따라 선택) 참고 : 링크
heapq.heapify
: for
문 쓰지 않고 리스트를 heapq
로
정렬이 필요할 경우, heappush
가 쓰이지 않으면 굳이 heapq
자료구조를 사용할 필요 없이 sort()
로 충분
파이썬에는 재귀횟수제한이 있고 제한 넘어가면 런타임오류를 일으킴
아래 코드로 제한을 해제할 수 있으나 권장되지는 않음. 다른 방식으로 풀어보기
import sys
sys.setrecursionlimit(100000)
무한을 표현하는 방법 float('inf')
if ~ else
는 하나로 합치거나 조건의 역 혹은 순서를 바꾸면 코드가 깔끔해질 수 있다.
슬라이싱에서 끝나는 조건이 인덱스 범위를 벗어나더라도 에러가 나지 않는다. 😮
DFS와 BFS
DFS | BFS | |
---|---|---|
동작원리 | 스택 | 큐 |
구현방법 | 재귀 함수 이용 | 큐 자료구조 이용 |
그동안 파이썬을 제대로 활용하고 있지 않았구나 하는 생각도 들었고 코드를 간결히, 가독성 좋게 작성할 수 있을 것 같은 기분이 든다. ^^; 무엇보다 생각할 수 있는 폭이 넓어진 것 같다. 혼자였다면 절대 생각하지 못 했을 부분에 계속 감탄하고 있다. 👍🏻👍🏻👍🏻
혹시나 다른 분들 코드보고 도움 드릴만한게 있을까하고 살펴봤는데, 오히려 도움만 받고있다 ㅎㅎ; 역시 다른 사람 코드 보는게 제일 어렵다는 말이 괜히 있는게 아니다. (리더님 정말 존경합니다..😂