본문 바로가기

전체 글

(71)
[Pandas 기초] 이번 포스팅에서는 파이썬에서 굉장히 중요한 Pandas에 대해서 공부한 내용을 올리겠다. 아래 링크에 있는 내용들만 완벽하게 숙지해도, 데이터 전처리를 수행함에 있어서 큰 문제는 없을 듯 싶다. 따라서 공부하며 정리해놓은 내용들은 머리 속에 확실하게 각인시켜 놓을 것!! ★ 코드 및 설명 링크 : https://nbviewer.jupyter.org/gist/HyeongWookKim/2cc59fba5701108f96e044c336b586e1 Jupyter Notebook Viewer 주피터에서 'df2.'를 입력하고 탭을 누르면, dtypes 외에 다른 속성들을 확인할 수 있다 nbviewer.jupyter.org
[알고리즘_Programmers] 5주차 문제 및 풀이 (총 5 문제) ※ 5주차부터는 문제도 길어지고 난이도도 좀 높아졌다. 우선 주어진 x 가 문자열이 아니므로, x 를 문자열로 변경시킨 후에 리스트로 변환해주어야 한다. 이 과정만 문제 없이 구현한다면 정말 간단한 문제이다. ^^ 위에서 내가 한 작업을 한 줄로 요약해줄 수도 있넹 ㅎㅎㅎ.. 이 문제도 큰 무리 없이 풀었다. 주어진 arr 리스트의 각 요소 값들을 divisor로 나눠보면서, 나누어 떨어지는 값들만 result 리스트에 추가하고 sort( )로 정렬해준다. 마찬가지로 내가 위에서 해준 작업들을 list comprehension을 사용하면 한 줄로 구현이 가능하다. 근데 난 왜 이렇게 좋은걸 안 써먹는거지.... 쓰려는 노력이라도 좀 하자!! ^^;; --> 좀 많이 어려웠음... 우선 본격적인 풀이에 앞..
[알고리즘_Programmers] 4주차 문제 및 풀이 (총 5 문제) 이 문제는 주어진 문자열이 숫자로 구성되어 있는지를 확인해주는 isdigit() 함수를 사용하면 간단하게 풀 수 있다. 위처럼 len(s) in (4, 6) 이런 식으로 코드를 구현해주면, 나처럼 if 문을 2번 쓰지 않고도 코드를 작성할 수 있다. 나는 이 문제를 "선택 정렬" 알고리즘을 사용해서 풀어보았다. 먼저 최댓값의 index 값을 찾아주는 find_max_idx() 함수를 만들고, 만들어진 find_max_idx() 함수를 사용해서 최댓값을 차례대로 뽑아내주는 방법으로 구현했다. ** 아래의 링크는 "선택 정렬" 알고리즘에 대한 설명과 코드를 적어놓은 사이트이다. 참고하자!! https://thebook.io/006935/partxt/xa/08/ 모두의 알고리즘 with 파이썬: 08 선택 정..
[알고리즘_Programmers] 3주차 문제 및 풀이 (총 5 문제) = 위 문제는 zip 함수를 사용하면 정말로 간단하게 풀 수가 있다. 이처럼 유용한 함수들은 잘 기억해두었다가 나중에 꼭 써먹자!! ^^ 이 문제도 간단하다. 주어진 숫자가 짝수인 경우와 홀수인 경우를 나눠서 처리해주기만 하면 된다. 단, 한 가지 주의할 점은 문제에서도 나와있듯이, "0"도 짝수로 처리해주어야 한다는 것이다. if 문을 길게 늘어서 쓰지 않고 이렇게 한 줄로 표현할 수 도 있다. 우선 n 을 문자열로 변환시켜서 각 숫자 별로 쪼갤 수가 있도록 만들어 주었다. 그 다음, for 문을 사용해서 각각의 숫자들을 더해주는 방식으로 구현하였다. 위 코드는 재귀 호출을 사용한 풀이 방식이다. 먼저 n 이 한 자리 수인 경우에는 그냥 그 값을 반환해주면 된다. n 이 두 자리 수 이상인 경우에는 재..
[알고리즘_Programmers] 2주차 문제 및 풀이 (총 5 문제) 이 문제는 푸는데 좀 오래걸렸다 ㅠㅠ (연속적으로 나타나는 숫자를 어떻게 제거해야 할지 감을 못잡아서...) 그래도 머리를 쥐어 뜯어가며 잘 생각해보니 위와 같은 풀이로 접근할 수 있었다. result 리스트의 맨 마지막 값이 리트스 i 와 동일한지를 확인하는 조건문을 걸어주면 되는거였네.... 이 문제는 생각보다 간단하다. 단어의 길이가 홀수인 경우와 짝수인 경우를 각각 처리해주기만 하면 된다. 홀수인 경우에는 정확하게 위치한 가운데 문자가 존재하기 때문에 구하기 쉽다. 물론 짝수인 경우도 어렵지는 않은데, 위와 같이 처리를 해주면 된다. 유레카!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 이렇게 한 줄의 코드로 구현을 하면서, 짝수인 경우와 홀수인 경우를 모두 커버할 수 있었네 ㅎㅎ..
[알고리즘_Programmers] 1주차 문제 및 풀이 (총 5 문제) 나는 a = b, a b 이렇게 3가지 경우로 나눠서 풀이를 진행하였다. 내 머리로는 각각의 경우를 나눠서 코딩하는 것 밖에 떠오르지 않았다... 다른 사람들의 풀이를 보면, 이렇게 return 부분에서 한 줄로 쫙 끝내버리는 경우들이 많았다... 이처럼 min, max 함수를 사용해서 한 줄로 끝낼 수도 있구나 ㅎㅎㅎ... 나는 n이 짝수인 경우와 홀수인 경우를 각각 나눠서 처리해주었다. n이 짝수인 경우에는 그냥 "수박"이라는 문자열 s 를 (n // 2) 번만큼 반복해서 출력하게끔 했고, n이 홀수인 경우에는 짝수인 경우에서 "+ s[0]" 처리만 추가해주었다. 좀 더 효율적인 풀이는 위와 같다. 나처럼 바보같이 짝수와 홀수인 경우를 나누지 않고, 슬라이싱을 통해서 간단하게 처리해줄..
[Numpy 기초] 이번 포스팅에서는 수많은 파이썬 라이브러리들 중, 너무도 중요한 Numpy에 대해 정리해보았다. Numpy에 대한 기초적인 부분들을 다뤘으며, 적어도 정리한 내용들만큼은 잘 숙지를 해두자. ★ 코드 및 설명 링크 : https://nbviewer.jupyter.org/gist/HyeongWookKim/f5083d7a08cd8d5ac5350966a3f8a5f3 Jupyter Notebook Viewer 만약 다른 데이터 유형이 섞여 있는 리스트를 ndarray로 변경하면, 데이터의 크기가 더 큰 데이터 타입으로 형 변환을 일괄 적용! nbviewer.jupyter.org