본문 바로가기

내맘대로 코딩32

[02] 알고리즘이란? 알고리즘은 무엇일까? 알고리즘을 구현했다. 알고리즘을 짰다. 이런 얘기는 한번씩 들어봤을 것이다. 나도 알게 모르게 "알고리즘 구현", "알고리즘 개발" 이런 키워드들을 보고서나 제안서에 썼던 것 같다. 공부를 하다보니 알고리즘을 구현하고 개발한다는게 넓은 의미에서 틀린건 아니지만, 내가 한건 알고리즘 구현 개발이 아니라 조합..같은 것이었달까.ㅎ 1. 알고리즘 문제해결을 위한 방법으로 정해진 절차 또는 방법 쉽게 설명하면 문제풀이 해설 틀 정도로 이해하면 좋을 것 같다. 코딩테스트를 보면 어떤 알고리즘을 써야하지? 라는 의문이 드는데 정형화된 몇몇 패턴들이 있다. BFS, DFS 등 이게 알고리즘인데, 즉 많이 패턴화된 방법을 공부해서 내가 필요한 순간에 이걸 쓰면 되는것이다. 그러니까 결국엔 BFS,.. 2023. 11. 8.
[01] 자료구조란? 코딩 테스트를 위해서 참 예전부터 준비했던 것 같다. 하지만 생각보다 너무 어려워서 금방 포기를 해서, 취업의 선택의 폭이 좁아졌던 것도 사실이다. 언제까지 코딩 테스트를 외면할 수는 없는 법. 아무리 GPT가 코드를 짜준다고 해도, 기본적인 구조와 알고리즘은 이해해야 원하는 방향으로 짤 수 있겠다! 라는 생각이 들면서 본격적으로 코딩 테스트를 준비하며, 공부한 내용을 정리해보고자 한다. 1. 자료구조 코딩 테스트를 하면서 자료구조에 대해 매 강의마다 들었다. 그치만 너무 어려워.. list, queue, hash table 등.. 친절한 설명들로 구성되어도 어려웠지만 한번 제대로 정리해보겠다. 자료구조: 어떻게 데이터를 저장하고 관리할지 정하는 것 이 내용은 이해했는데, 그렇다면 왜 자료구조를 이해해야.. 2023. 11. 8.
내맘대로 크롤링(5): 구조를 좀더 살펴보자~ 크롤링을 하는데 있어서 조금 이해가 안가는 부분들이 있었는데, 그럴때는 하나씩 구조를 뜯어보면 이해가 갔다. 그 부분을 정리해보자면 먼저 requests를 활용해서 response를 받고, 이를 BeautifulSoup의 'html.parser'를 활용해서 soup으로 만들었다. 이때 articles같은 것을 가져올 때 항상 tbody나.. ul 같은것으로 하나 묶여 있어서 이걸 찾는 것부터 했다. 순서를 정리해보자면 1) a = select('.class명') 또는 #id 로 ul이나 tbody를 찾아옴. 2) 이때 a는 하나의 리스트에 tbody 내용이 모두 담겨 있어서 len(a)를 해보면 1로 나옴. 3) 이 a 안에 담겨잇는 모든 'li'를 갖고와야하기 떄문에 a = a[0].find_all('.. 2023. 7. 21.
내맘대로 크롤링(4): 그래서 BeautifulSoup이 뭔데? 흐름상.. 앞파트에 나왔어야 할것 같지만^^;; 일단 쓰고싶은대로 쓴다~ 우선 BeautifulSoup이 뭘까? BeautifulSoup은 html의 코드를 추출하는 녀석 정도로 생각하면 좋다. 그러니까 어쨌든 크롤링을 하려고 하는 것이고, 이 과정에서 html구조에서 내용을 뽑아야하니까 BeautifulSoup을 쓴다. 정도로 이해하고 넘어갈 수 있다. 특히 내용을 정리하다보면서 정적수집, 동적수집 등의 내용을 확인했는데, 덧붙여 정리해보면 정적수집에서는 일반적으로 requests + BeautifulSoup 조합으로 한다. requests로 html을 받아오고, 여기서 BeautifulSoup을 활용해서 파싱을 한다('html.parser') 대체로 네이버뉴스같은 사이트들. 동적사이트의 경우 Sele.. 2023. 7. 10.
내맘대로 크롤링(3): BeautifulSoup을 활용해서 원하는 것 가져오자! 이번에 정리하는 BeautifulSoup 사실 BeautifulSoup은 예전 크롤링할때부터 많이 써봤는데.. 정작 어떻게 쓰는지를 몰라서 예제만 따라하고 내가 하고 싶은 사이트들은 크롤링 못하고 그랬다. 그래서 이번에 내용을 정리해보면 우선 BeautifulSoup은 HTML문서를 예쁘게 정리하는 라이브러리 정도라고 생각하면 될듯! 즉 복잡한 웹을 이제 html.parser를 활용해서 필요한 태그들을 쏙쏙 가져온다고 보면 되고. 여기에 이제 find와 select를 활용해서 내가 찾고 싶은 내용들을 갖고 온다고 보면 된다! 그러면 find와 select의 차이는 무엇일까? 나도 이렇게 정리하기 위해서 찾아봄 ㅋ 1) find find는 태그 요소들을 이용해서 찾는 것!! 그래서 사용 예시들을 살펴보면 .. 2023. 7. 9.
내맘대로 크롤링(2): CSS 선택자의 종류 이번에는 CSS 선택자를 알아보자. 태그 선택자: 태그의 이름 와 같이 h1, a 로 선택한다 id 선택자: 별명을 말하는 것으로 예를들어 으로 표시가 되어 있을때, #a1 으로 찾는다. class 선택자: 태그 그룹의 별명으로 예를들어 으로 표시가 되어 있을 때 .a1 으로 찾는다 자식선택자: 별명없고 대체로 태그일 때. 찾는 법은 하위로 들어가면 됨 .a1>span 정말 필수적으로 알아둬야 하는 부분! 그런데 막상 실제 웹사이트가 이렇게 예쁘게 되어 있으면 얼마나 좋을까. 그렇지 않더라 특히 띄어쓰기가 많이 되어 있거나.. 반복되는 구조로 리스트르 해서 뽑으려고 하는데 하필 내가 원하는건 인데 밖에 그 class가 정의되어 있거나.. 이럴때는 이제 자식선택으로 들어가야하더라고. 내가 크롤링한 사이트를.. 2023. 7. 9.