Programming 48

Q.맥 실리콘 (Macbook Pro M1)에서 파이썬 3.7 버전의 가상환경 만드는 방법은?

환경 MacOS v12.6 Apple M1 Pro chip 파이썬 가상환경 버전 관리를 맥에서 아나콘다 가상환경 구성 -> 윈도우에서 virtualenv 구성으로 하다가 업무용 컴퓨터가 맥 M1으로 바뀌면서 그냥 virtualenv으로 가상환경 구성을 하고 파이썬 버전은 3.9을 고정으로 사용하고 있었다. 참고 맥, 리눅스에서 python anaconda 가상 환경 생성, 확인, 삭제 하기 (mac, linux) Q. jupyter notebook 파일을 실행할 때 새로운 가상환경을 만들고 이용하는 방법은? Q. 윈도우 환경에서 아나콘다 없이 가상환경 설정, 주피터 노트북 사용하는 방법은? 그런데 본격적으로 여러 모델들을 다루게 되면서 3.7 이하의 파이썬 버전에서 빌딩한 모델을 테스트해보게 되었는데 ,..

Programming/Python 2022.11.01

Q. 여러 개의 파이썬 파일로 구성된 프로그램을 exe 실행 파일로 만들기 - cx_Freeze 와 pyinstaller

main.py와 main.py에서 모듈로 import해서 사용하는 py들로 구성된 간단한 애플리케이션을 만들었다. 그런데 이걸 exe파일로 만들어주라고 한다. 응?? 윈도우에 프로그램 깔 때 쓰는 그 .exe 파일? 조금 검색해보니 파이썬이 깔려있지 않은 환경에서도 내가 만든 애플리케이션을 사용할 수 있게 만들어 주는 것이라고 한다. 실제 실행을 할 때는 하나의 .py 파일로 끝나는 앱이든, 여러 개의 .py을 모듈로 불러와서 실행하는 앱이든 큰 차이는 없이, 실행 파일에 대해서만 exe를 만들면 된다. 나는 pyinstaller와 cx_Freeze를 모두 시도해봤는데 내 경험에 미루어보자면, 처음에는 pyinstaller가 간단해보였지만, 결과적으로 cx_Freeze에서 setup.py를 만들고, 필요..

Programming/Python 2021.12.21

파이썬 코딩 테스트, 알고리즘 공부 추천 강의 , 코드카데미 추천 코스

알고리즘, 자료구조, 코딩테스트 공부를 하긴 해야겠다라고 생각해서, 라는 책을 구매하고, 그 책에서 챕터 별로 나오는 리트코드 연습문제를 같이 풀면서 공부했었다. 그러다 KDT 코스, 구글 부트캠프 코스에 참여해서, 인공지능 과정에 대해서 공부하고, 프로젝트 참여하고, 또 수료 조건인 자격증 공부하고, 응시하고, 하다보니 알고리즘/코딩테스트 공부에 시간을 많이 할애하지 못했고, 까먹고, 또 기초적인 문제 외에는 풀기 어려워서 좌절하고, 자신감도 많이 떨어져 있었다. 참여했던 프로그램들도 모두 끝나가고, 스스로 계속 공부를 해야하는데, 코드카데미에 자료구조/알고리즘 공부에 도움되는 코스가 있어서 추천한다. 코드카데미 파이썬 테크니컬 인터뷰 통과하기 코스 https://www.codecademy.com/le..

알고리즘 테스트, 코딩 테스트를 위한 Dynamic Programming 공부자료

코딩 테스트.. 많이는 아니지만 몇 번 쳐보니 마지막 1,2 문제에서 변별력이 생기고, 그 어려운 문제들은 몇 가지 정해진 영역에서 주로 출제되는 것 같다. 알면서도 못푼다. dynamic programming 도 그런 영역 중 하나. 리트코드에서 문제 안풀려서 discussion으로 보다가 이 영상 시리즈를 추천하는 글이 있어서 올려본다. 한 개발자가 자기가 dynamic programming 을 이해하기 어려워하다가 익히고 나서 다른 사람들을 위해 설명하려고 만든 시리즈라고 한다. 영상 하나 아니고 17개 짜리 시리즈지만, 십분정도 되는 짧은 영상도 있어서, 하나씩 볼만하다.. https://youtu.be/jTjRGe0wRvI

leetcode 108. Convert Sorted Array to Binary Search Tree 정렬된 배열의 이진 탐색 트리 변환 문제풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 https://leetcode.com/problems/convert-sorted-array-to-binary-search-tree/ Convert Sorted Array to Binary Search Tree - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowl..

leetcode 1399. Count Largest Group 리트코드 1399번 가장 큰 그룹의 숫자 세기 문제 풀이

책에서 다룬 리트코드 문제들을 파이썬으로 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 https://leetcode.com/problems/count-largest-group/ Count Largest Group - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next inte..

leetcode42. Trapping Rain Water 빗물 트래핑 문제풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 https://leetcode.com/problems/trapping-rain-water 입력: 땅에 쌓아올린 벽돌의 높이를 기록한 리스트 출력: 물이 고인 양을 합한 양의 정수 문제 요약: 그림으로 그리면 이해가 쉽다. 예제 1번은 [0,1,0,2,1,0,1,3,2,1,2,1]인데, 이를 그림으로 그리면 아래의 검은 블록과 같고, 물이 고인 양은 파란색의 합과 같다. 유의 사항: 제일 처음과 제..

배열의 index와 value를 전달해주는 enumerate() 함수

파이썬의 리스트, 튜플 같은 iterable 한 자료형에서 각 요소의 위치와 값을 반환해주는 함수이다. 그런데 그냥 enumerate()함수를 print하면 enumerate object를 반환할 뿐이어서, 우리가 원하는 index, value를 직접 얻을 수가 없다. lst = ['a','b','c','d'] print(enumerate(lst)) >> 그래서 주로 for 문과 함께 쓰인다. dic = {} for k, v in enumerate(lst): dic[k]= v 이렇게 하면 lst의 인덱스를 key, 값을 value로 하는 딕셔너리를 생성할 수 있다. dic >> {0: 'a', 1: 'b', 2: 'c', 3: 'd'}

Programming/Python 2021.06.21

배열에 아이템을 추가하는 메서드 .append(), .extend(), .insert() 비교

파이썬3에서 배열에 아이템을 추가하는 메서드는 .append(), .extend(), .insert() 등이 있는데, 특징에 차이가 있으므로 그 차이를 잘 기억해두자. 1. append() 가장 일반적으로 쓰이는 메서드. 기존 배열의 뒤에 () 안의 아이템이 들어가게 된다. a = ['a','b','c','d'] a.append('a') a >> ['a', 'b', 'c', 'd', 'a'] 문제는 append() 안에 배열을 넣을 경우, 배열 째로 들어가게 된다. a = ['a','b','c','d'] b = ['e','f'] a.append(b) a >> ['a', 'b', 'c', 'd', ['e', 'f']] 2. extend() append() 대신 extend()를 쓰게 되면 배열 안의 각 아..

Programming/Python 2021.06.21

leetcode 621. Task Scheduler 과업 스케줄러 문제풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 https://leetcode.com/problems/task-scheduler/ Task Scheduler - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode...

leetcode 739. Daily Temperatures 일일 온도 문제 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 https://leetcode.com/problems/daily-temperatures/ Daily Temperatures - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. l..

leetcode 20. Valid Parentheses 유효한 괄호 문제 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 https://leetcode.com/problems/valid-parentheses/ 입력: 괄호로 구성된 문자열 출력: boolean 문제 요약: 괄호는 항상 마지막에 오는 여는 괄호의 닫힌 괄호가 먼저 나와야 한다. 즉, (){} 이나 ({}) 는 True이지만, {(}) 는 마지막 여는 괄호 ( 에 맞는 )가 오지 않았으므로 False 이다. 그리고 모든 괄호들이 닫혀야지만, True이고 ..

leetcode 206. Reverse Linked Lists 리트코드 206. 역순 연결 리스트 문제 풀이

책에서 다룬 리트코드 문제들을 풀이한 포스팅이다. 문제는 모두 리트코드에 출제된 문제들이며, 직접 풀었지만, 책에서 주는 힌트와 풀이 과정들을 참고한 경우가 많다. 이곳은 정리한 책에 나온 문제에 대한 목록과 해설을 정리한 공식 깃허브 페이지 이며, 다음 포스팅은 내가 푼 문제 풀이 목록을 정리해 놓았다. 문제 https://leetcode.com/problems/reverse-linked-list/ Reverse Linked List - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview...