본문 바로가기
728x90

Python49

백준 알고리즘 문제_10828번 안녕하세요, 개발자 취업에는 거의 모든 기업에서 코딩 테스트를 본다고 합니다! 저는 비전공자로서 개발자 준비를 한지 이제 1개월정도 되어가는데요(회사에서 파이썬 강의만 몇 개 들음...) 한번 코딩테스트의 수학의 정서가 같은 백준 문제 100문제 푸는것을 목표로 준비해보겠습니다! (일주일에 2~3문제씩!) 글의 구조는 -> 문제 풀이 -> 나의 약점이 뭔지 복기(?)하는 순서입니다. +) 문제풀기위한 게시글이므로 파이썬 문법 설명은 생략하였습니다. 추가로 실제로 문제를 풀면서 글을 쓰는 것이라 서체에 불편함을 느끼시더라고 너그러이 용서 부탁드립니다^_^ 더 좋고 빠른 방법이 있다면 댓글로 알려주시면 감사드리겠습니다! 이번 시간에는 10828번을 풀어보겠습니다. (문제 링크 : 10828번 ) Comman.. 2021. 5. 2.
시간 복잡도(2) 안녕하세요! 지난 시간에 시간 복잡도에 대해 공부했는데요, 예를 좀 더 살펴보겠습니다! 여러 시간 복잡도 중 많이 쓰는 것들만 정리하려합니다. O(1) : 인풋의 크기가 소요시간에 영향이 없는 것입니다. (반복문이 없으면 대게 O(1) 일 가능성이 큽니다!) (ex. a = [1, 2, 3] / b = [1, 2, 3, 4, .... 10000] 이라고 할 때, print(a[0]) 과 print(b[0]) 의 시간 복잡도는 동일하게 O(1)) O(n) : 반복문이 있으며 인풋의 크기와 비례하여 반복 횟수가 증가하는 Case! ex. 위와 같이 n개의 리스트의 요소를 처음부터 끝까지 출력하는 경우가 있습니다. 여기서 리스트의 크기를 줄여도 시간 복잡도는 O(n)인 점 주의해주세요! [앞의 상수는 제외한다.. 2021. 5. 1.
시간 복잡도 + 한풀이) 안녕하세요! 어느덧 블로그를 시작한 지 1주일이 지났습니다! 회사생활은 여전히 밋밋하고... 일할때도 머릿속은 코딩 생각밖에 안 나네요 ㅠㅠ 집 가서 무슨 공부를 해야 할까... 알고리즘, 웹, Git, 기타 컴퓨터 지식까지.... 할 일이 너무 많은 것 같아요... 하지만 이렇게 힘들어도 꾸준히 하다 보면 폭발적으로 실력이 늘어날 것이라 생각하고 계속해보겠습니다!! 오늘은 내가 짠 알고리즘이 좋은 알고리즘인지 판단할 수 있는 근거 중에 하나인 시간 복잡도를 공부했습니다. 주의! 비전공자로서 처음 개발 공부를 하는 것이라 내용이 틀리거나 부실한 것이 있을 수 있습니다! 댓글로 알려주시면 정정하도록 하겠습니다^^ 먼저 시간 복잡도에 대해 알아보겠습니다. 같은 100개짜리 요소를 가진 리스트를 .. 2021. 4. 30.
선택 정렬 / 삽입 정렬 안녕하세요! 오늘은 정렬하는 법에 대해 공부하였습니다. 사실 정렬 알고리즘은 여러 방법들이 있는데요 (ex. 힙 정렬, 합병 정렬, 선택 정렬 등등) 여기로 들어가시면 각 정렬 알고리즘을 애니메이션으로 직관적으로 확인하실 수 있습니다! 선택 정렬과 삽입 정렬만 우선 정리해보겠습니다! 선택 정렬(Selection Sort) : 선택 정렬은 각 위치에 들어갈 값을 찾는 정렬 방법입니다. 처음부터 끝까지 리스트 안 요소들을 확인하고 가장 작은 것을 0번 인덱스로 설정! 그다음 1번~ 끝까지 리스트 안 요소들을 확인하여 가장 작은 것을 1번 인덱스로 설정! 이렇게 반복하며 정렬하는 것입니다. 글로 쓰니 더 헷갈릴 것 같아 아래 그림으로 정리를 해보았습니다. 삽입 정렬(Insertion Sort) : 삽입 정렬은.. 2021. 4. 28.