본문 바로가기

분류 전체보기

(35)
[Anaconda Prompt] 지정된 경로를 찾을 수 없습니다 정말 오랜만에 컴퓨터를 청소하고 개발환경을 D드라이브로 옮기려고 지웠다가 속도 이슈로 다시 C드라이브에 재설치하는 과정에서 큰 문제가 발생했다.   하...... 사실 작년 초 개발환경에 익숙하지 않고 해커톤 발표 및 시연을 얼마 앞두지 않았을 때 (팀원들은 모두 멀리 살아서 혼자 해결해야했음...) 이와 같은 문제에 부딪혀 에러라고 생각하고 윈도우 사용자 계정을 변경해서 윈도우 사용자 계정을 변경했다. (이거 보자마자 PTSD가...)  하지만 가상환경 접속을 해보니 아나콘다 환경 변수 설정은 제대로 설정되었다는 것을 알고 아나콘다 프롬프트만의 문제라고 생각했다.# 아나콘다 가상환경 활성화 코드conda activate   그래서 Anaconda prompt 속성을 살펴보다 대상(T) 경로위치가 이상하..
얼렁뚱땅 개발자 취업이야기 2024년 하반기 운좋게 포스코DX 개발자로 취업을 하게 되었다. (나는 데이터 직무 취업을 노렸는데 ...)졸업하고 2년간 취준을 하며 노력한 경험, 생각을 기록하려고 한다.결론부터 말하면 대기업, 중견, 스타트업 구분없이 수없이 많이 떨어지고 나에 대한 역량을 의심하며 힘든 시간을 보냈지만 딱 한번만 이기면 된다는 생각으로 낙담하지 않고 꾸준히 지원했다.   🤦‍♀️ 2024년도 취업 승패서류지원 : 110서류탈락 : 95코딩테스트,필기탈락 : 4 1차면접 탈락 : 11 2차면접 탈락 : 0최종합격 : 2 매우 처참한 결과지만 그래도 2023년도에는 서류 "ALL 탈락" 이었던 결과를 생각하면 그래도 2년 열심히 살아온 덕분에 조금이라도 서류를 붙은 것이 아닐까 생각을 하기도 한다. 다시 돌아와서 ..
[ 이것이 코딩 테스트다 ] 6. 다이나믹 프로그래밍 다이나믹 프로그래밍 (Dynamic Programming)메모리 공간을 약간 더 사용하여 연산 속도를 비약적으로 증가시키는 방법 (동적 계획법)특정 범위의 값을 구하기 위해 이전 범위의 값을 활용하는 방법 다이나믹 프로그래밍으로 해결할 수 있는 문제에 대해 알아보자 피보나치 수열이전 두 하의 합을 현재의 항으로 설정하는 특징이 있는 수열이다. 이는 점화식을 사용해 수열의 항이 이어지는 형태를 간결하게 표현할 수 있다. 수열 자체가 규칙에 따라서 배열된 형태를 의미하기 때문이다. # 피보나치 함수(Fibonacci Function)을 재귀함수로 구현def fibo(x): if x == 1 or x == 2: return 1 return fibo(x - 1) + fibo(x - 2)p..
[ 이것이 코딩 테스트다 ] 5. 이진 탐색 순차 탐색 (Sequential Search)리스트 안에 있는 특정한 데이터를 찾기 위해 앞에서부터 데이터를 하나씩 차례대로 확인하는 방법이다. 보통 정렬되지 않은 리스트에서 특정 데이터를 찾아야 할 때 사용되고 개수를 세는 count() 메서드를 이용할 때도 내부에서 순차 탐색이 수행된다.# 순차 탐색 소스코드 구현def sequential_search(n, target, array): # 각 원소를 하나씩 확인하며 for i in range(n): # 현재의 원소가 찾고자 하는 원소와 동일한 경우 if array[i] == target: return i + 1 # 현재의 위치 반환 (인덱스는 0부터 시작하므로 1 더하기) return -1 ..
[ 이것이 코딩 테스트다 ] 4. 정렬 정렬 (Sorting)데이터를 특정한 기준에 따라 순서대로 나열하는 것. 다음 장에서 배울 이진 탐색의 전처리 과정이니 제대로 학습하자.  선택 정렬 (Selection Sort)데이터 중에서 가장 작은 데이터를 선택해서 맨 앞에 있는 데이터와 바꾸고, 그 다음 작은 데이터를 선택해 앞에서 두 번째 데이터와 바꾸는 과정을 반복한다. array = [7, 5, 9, 0, 3, 1, 6, 2, 4, 8]for i in range(1, len(array)): for j in range(i, 0, -1): # 인덱스 i부터 1까지 감소하며 반복 if array[j]  선택 정렬의 시간복잡도 : O(N**2) 직관적으로, 2중 반복문이 사용되었기 때문이라고 볼 수 있다.다른 알고리즘에 비해 매우 비효율적이지만,..
[ 이것이 코딩 테스트다 ] 3-2. DFS/BFS (탐색 알고리즘) DFS (Depth-First Search)깊이 우선 탐색이라고 부르며, 그래프에서 깊은 부분을 우선으로 탐색하는 알고리즘이다.DFS는 스택 자료구조와 재귀함수를 이용하여 구현한다. 동작과정1. 탐색 시작 노드를 스택에 삽입하고 방문 처리2. 스택의 최상단 노드에 방문하지 않은 인접 노드가 하나라도 있다면 그 노드를 스택에 넣고 방문 처리. 방문하지 않은 인접노드가 없으면 스택에서 최상단 노드를 꺼냄3. 더 이상 2번의 과정을 수행할 수 없을때까지 반복  # DFS 메서드 정의def dfs(graph, v, visited): # 현재 노드를 방문 처리 visited[v] = True print(v, end=' ') # 현재 노드와 연결된 다른 노드를 재귀적으로 방문 for i ..
Apache Hive 실습(WSL2 Ubuntu 환경) Hive 설치가 안된 분들은 이전 포스팅 참조https://kind-door.tistory.com/30 Apache Hive 설치(WSL2 Ubuntu 환경)Hive 실습에 앞서 Hadoop과 Mysql 설치가 필요 (설치하지 않았다면 이전 포스팅 참조)https://kind-door.tistory.com/31 Mysql 설치 (WSL2 Ubuntu 환경)Hive를 위해 WSL 환경에서 Mysql 설치  1. 설치sudo apt-get updatesudo apkind-door.tistory.com    데이터베이스 생성 및 조회, 입력 등 간단한 쿼리를 실습해보자 1. 테이블 생성# dept 테이블 생성 CREATE TABLE dept ( deptno INT, dname STRING, ..
Mysql 설치 (WSL2 Ubuntu 환경) Hive를 위해 WSL 환경에서 Mysql 설치  1. 설치sudo apt-get updatesudo apt-get install mysql-server  2. 실행# 서비스 시작sudo systemctl start mysql# 서비스 상태 확인sudo systemctl status mysql# 서비스 중지sudo systemctl stop mysql# 서비스 재시작sudo systemctl restart mysql# 서비스 활성화 (시스템 부팅 시 mysql 자동으로 시작)sudo systemctl enable mysql# 서비스 비활성화sudo systemctl disable mysql  3. 접속mysql -u root mysql 을 실행하면 위와 같이 ERROR 1698 (28000) : Acce..