본문 바로가기

Python

(29)
[알고리즘_Programmers] 8주차 1번 문제 및 풀이 이번 포스팅에서는 알고리즘 스터디 8주차 첫 번째 문제인 "최댓값과 최솟값" 문제에 대한 풀이를 진행하겠다. 문제를 딱 보자마자 느꼈다. 아, 이 문제는 쉬어가는 보너스 문제구나!! ^^ 풀면서 너무 행복했다....이렇게 쉬운 문제가 얼마만인지 ㅜㅜㅜ 자, 그럼 이제 잠시 쉬어가는 코너라 생각하고 풀이를 진행해보겠다. 이 문제는 주어진 문자열을 공백으로 분리하고, 분리된 문자열들을 int형으로 변환해준 다음 list로 만들어주기만 하면 해결할 수 있는 문제이다. 최종적으로 만들어진 list의 요소 값 중, 최댓값과 최솟값을 구해서 문자열로 변경해주고 그 값들을 반환해주게끔 해주면 된다. 이렇게 쉬운 문제가 얼마만인지....ㅎㅎ 우선 문제 풀이법은 나와 동일하다. 다만, 내 코드를 조금 더 간결하게 만들어..
[Ch 8. 자연어 처리 시작하기] from "파이썬으로 데이터 주무르기(민형기 지음)" 드디어 교재의 마지막 챕터인 "8장. 자연어 처리 시작하기"까지 모두 끝냈다. 자연어 처리(NLP) 분야는 현재 활발한 연구가 이루어지고 있는 분야로, 많은 사람들의 관심을 끌고 있다. 그리고 워드 클라우드와 같은 기술들은 잘 알아두면, 나중에 시각화 할 때 큰 도움이 될 것 같다. 이 교재를 통해서 기본적인 파이썬 라이브러리에 대한 공부는 어느 정도 한 것 같다. 이제 공부한 내용들을 토대로 캐글 및 데이콘 데이터를 활용해서, 실제 머신러닝 프로젝트를 처음부터 끝까지 따라서 진행해보는 시간을 갖도록 하자!! ★ 코드 및 설명 링크 : https://nbviewer.jupyter.org/gist/HyeongWookKim/f9def910f702d4fffe919bfac230941f Jupyter Notebo..
[알고리즘_Programmers] 7주차 3번 문제 및 풀이 이번 포스팅에서는 "N개의 최소공배수"라는 문제에 대한 풀이를 진행해보겠다. 우선 문제는 다음과 같다. 이 문제는 2개의 수의 최소공배수를 N개의 수의 최소공배수로 확장시켜 놓은 문제이다. 따라서 두 개의 수에 대한 최소공배수를 먼저 구하고, 구해진 최소공배수와 그 다음 숫자와의 최소공배수를 계속 구해나가는 방식으로 풀이를 진행했다. 이 과정에서 functools 모듈에 있는 reduce 함수를 사용했다. (정말 유용한 함수이다 ^^) ▶ reduce 함수에 대한 부연 설명 예시를 통해 reduce 함수가 어떻게 작동하는지 알아보자. 위의 예시 코드를 보면, 1부터 5까지의 리스트의 요소 값들을 순차적으로 더해주고 있는 것을 알 수 있다. 이처럼 reduce 함수를 사용하면, 리스트의 요소 값들에 대한 ..
[알고리즘_Programmers] 7주차 2번 문제 및 풀이 이번 포스팅에서는 "숫자의 표현"이라는 문제에 대한 풀이를 진행하겠다. 우선 주어진 문제는 다음과 같다. 접근 방법은 잘 생각을 해냈으나, answer의 초기화 위치를 잘못 지정해줘서 출력 값이 계속 '1'이 나오는 상황에 직면했다. 코드를 아무리 쳐다보아도, 어느 부분이 잘못된 것인지를 알 수가 없어서 구글링을 해보았다. 그 결과, answer의 초기화 위치가 잘못되었다는 것을 깨달았다...ㅠㅠ 초기화 위치를 for 문 밖에 설정하면, 반복문이 돌아가면서 새롭게 초기화가 되지 못한다. 따라서 for 문 안에다가 초기화 값을 지정해주어야 한다. 거의 다 푼 문제였는데 이걸 발견 못하다니 ㅜㅜ 정말 아쉽다.. answer의 초기화 위치를 수정해주고 코드를 다시 돌려보았더니, 원하는 출력 값인 '4'가 출력..
[Ch 7. 시계열 데이터를 다뤄보자] from "파이썬으로 데이터 주무르기(민형기 지음)" 이번 챕터에서는 블로그 웹 트래픽 데이터에 대해 Prophet 모듈을 이용한 시계열 예측과 주가 데이터에 대한 Seasonal 시계열 분석을 중점적으로 수행하였다. 이 책을 공부하기 전부터 다른 챕터들보다 관심이 많이 갔던 챕터여서 그런지, 굉장히 재미있게 분석을 진행하였다. (물론 많은 시계열 분석 기법들에 대한 깊은 설명 없이, 단순히 계절 시계열 모형을 적용한 것 같아 아쉽지만...) 기회가 된다면, 전통적인 시계열 분석 기법들에 대해서 좀 더 깊이 있게 공부를 해보고 싶다. (늘 생각만 해오고 실천을 못하고 있네....ㅎㅎㅎ) 끝으로.... 이제 남은 챕터는 "8장. 자연어 처리 시작하기" 하나로, 교재의 막바지를 향해 달려가고 있다. 자연어 처리(NLP) 파트까지 열심히 해서 유종의 미를 거두자..
[알고리즘_Programmers] 7주차 1번 문제 및 풀이 이제 Level 1의 프로그래머스 알고리즘 문제들은 다 풀고, Level 2로 넘어왔다. 역시 Level up이 되서 그런지, 문제들이 좀 어려운 편인 것 같다. 기존에 알던 방식으로 풀면 런타임 에러...즉, 시간 초과 문제가 발생한다 하하핳...(정말 화가 난다 ㅎ) 때문에 7주차 문제들. 즉, Level 2 알고리즘 문제들부터는 1개의 문제씩 풀이를 포스팅하겠다. 오늘은 7주차의 첫 번째 문제인 "피보나치 수" 문제에 대한 풀이를 진행하겠다. 처음엔 아~ 정말 쉬운 문제네! 그냥 재귀 호출 사용하면 되겠다 ^^! 라고 생각했으나...ㅎㅎ 괜히 Level 2 문제가 아니었다. 재귀 호출을 사용해서 풀 경우, n이 커지면 시간 복잡도가 엄청나게 커지므로 런타임 에러(시간 초과) 문제가 발생한다. 따라서..
[Ch 6. 19대 대선 결과 분석] from "파이썬으로 데이터 주무르기(민형기 지음)" 이번 챕터에서는 "19대 대선 결과"에 대해 분석해보았다. 그런데 이번 분석에 사용할 정보를 인터넷으로부터 가져오는 코드를 수행할 때 에러가 발생했다. 어느 부분이 잘못 되었는지 파악이 안되서... 우선은 저자가 GitHub에 제공한 파일들을 그냥 다운 받아서 분석을 진행했다. 분명 저자가 GitHub에서 제공한 코드와 동일하게 입력했음에도 불구하고 에러가 발생하다니... (에러 발생 원인에 대한 고민은 조금 더 해봐야 할 것 같다) ★ 코드 및 설명 링크 : https://nbviewer.jupyter.org/gist/HyeongWookKim/73c2b4fbb7736a159c2874127983d41f Jupyter Notebook Viewer 문재인, 홍준표, 안철수 후보의 득표율을 계산해주겠다 득표율..
[Ch 5. 우리나라 인구 소멸 위기 지역 분석] from "파이썬으로 데이터 주무르기(민형기 지음)" 이번 장에서는 "우리나라 인구 소멸 위기 지역"이라는 주제로 분석을 수행하였다. 65세 이상 노인 인구와 20~39세 여성 인구를 비교해서 젊은 여성 인구가 노인 인구의 절반에 미달할 경우, 인구 소멸 위험 지역으로 분류하였다. 실제 분석을 수행해 본 결과, 인구 밀집도가 특정 지역에서 높게 나온 것을 눈으로 확인할 수 있었다. 또한 추가적으로 우리나라 20~30대 여성 인구수에 대한 시각화 작업을 수행해보니, 20~30대 여성 인구수가 점점 줄어든다(?)는 사실을 확인할 수 있었다. 왜 이와 같은 결과가 나왔는지...저출산 문제 때문인가? (근데 그렇다면 남성 인구수도 적어야 정상인데..?) 아무튼...우리나라 인구 소멸 문제는 심각한 문제임에 틀림없다. ★ 코드 및 설명 링크 : https://nbv..