본문 바로가기
728x90

알고리즘8

백준 알고리즘 문제_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.
선형 탐색 / 이진 탐색 언젠가 칠지도 모르는 코딩테스트 준비 및 개발자라면 알고리즘은 필수로 알아야하기에 배운 것들을 정리하려합니다. 틀린 내용 및 부족한 내용이 있을 수 있다면 댓글 달아주시면 수정 및 추가하도록 하겠습니다! 우선 오늘은 탐색방식 중에 2가지(선형 탐색/이진 탐색)를 확인해 보겠습니다 선형 탐색(Linear Search) : 리스트의 처음부터 끝까지 하나씩 탐색을 진행하는 것입니다. 아래 예시를 먼저 보시죠! 리스트 내에서 8을 찾을때 위와같이 4회만에 8을 찾은 것이 확인이 됩니다. 이진 탐색(Binary Search) : 이진 탐색 알고리즘은 선형 탐색 알고리즘과 달리, 정렬된 리스트를 전제로 합니다. 정렬된 리스트가 아니면 이 알고리즘은 적용이 불가능합니다. 여기서 이진의 의미는 한번 적용할때마다 탐색범.. 2021. 4. 26.