Python
[Algorithm] LeetCode 5 - Longest Palindromic Substring
시간 복잡도 \( O(N^2) \) 문제 링크 https://leetcode.com/problems/longest-palindromic-substring/ 이번 문제의 유형은 palindrome으로써 문자열 중 가장 긴 palindrome을 찾는 문제입니다. Palindrome이란 거꾸로 뒤집어도 똑같은 문자열을 뜻합니다. 가장 쉬운 방법으로는 모든 문자열에 대하여 palindrome 여부를 검사해 가장 길이가 긴 문자열을 답으로 제출하면 됩니다. 시간을 계산하면, 모든 문자열은 이중 for문을 이용해 \( O(N^2) \)의 시간, 문자열마다 palindrome 여부를 검사하는 \( O(N) \) 시간이 걸리므로 총 \( O(N^3) \)의 시간 복잡도를 가집니다. \( O(N^3) \)의 시간 복잡도..
[Python] enumerate 반복문에서 index skip하기
enumerate(iterable, start=0) iterator를 지원하는 객체를 받으면 index와 value를 포함한 tuple을 반환합니다. next(iterator[ ,default ]) iterator를 지원하는 객체의 다음 item을 반환합니다. Python에서 반복문에 List 또는 string 변수를 사용할 때 index와 value를 모두 사용하기 위해 enumerate를 사용합니다. 하지만 조건에 따라 반복문 중에 바로 다음 index 또는 특정 index들을 넘겨야 하는 경우가 필요합니다. 이런 상황에서 필요한 방법을 소개하겠습니다. enumerate 사용 List 또는 string 변수를 반복문을 이용하면서 값을 사용할 때가 있습니다. 하지만 일반적인 for문을 사용하면 inde..
[Jupyter] JupyterLab 내부 환경 변수 설정하기
JupyterLab 내부 환경 변수 설정 JupyterLab 내부 환경 변수를 kernel.json 파일을 통해서 설정할 수 있습니다. Python에서 hdfs 경로에 접근 빅데이터 플랫폼에서 JupyterLab를 사용할 때 pydoop을 import 해서 사용하는 경우가 있습니다. 그중에서도 pydoop의 hdfs를 import 하면 직접 hdfs 경로 및 파일에 접근할 수 있습니다. hdfs 에 "test"라는 파일이 존재할 때 python에서 이 파일에 접근하는 방법은 아래와 같습니다. 하지만 위의 명령어를 수행할 때 "HADOOP_CONF_DIR"가 세팅되어 있지 않다는 에러가 발생합니다. 이는 hadoop의 conf 폴더 경로가 설정되어 있지 않다는 것을 의미하는데 해당 에러는 아래와 같이 나타..