본문 바로가기

Python42

PyCharm(파이참) Python Black 설치 및 설정 및 사용 방법 PyCharm(파이참) Python Black 설치 및 설정 및 사용 방법 Black은 파이썬 소프트웨어 재단에서 운영하는 Python Fomatter로, Python 개발 시 포매팅하는 방법들 중 가장 많이 사용되는 것으로 알고있습니다. PyCharm에서 Black을 사용하여 자동 포매팅을 설정해두면 쉽고 깔끔하게 Python Code를 작성하실 수 있으니 PyCharm에서 Black을 설치 및 설정하는 방법과 사용하는 방법에 대해 알려드리도록 하겠습니다. 1. black 패키지 설치 pip install black 먼저 위 명령어를 통해 black 패키지를 설치합니다. 2. 설치된 black 경로 확인 # Mac which black # Windows get-command black 위 명령어를 통해.. 2023. 7. 18.
PyCharm(파이참) Project Python Interpreter 설정 방법 PyCharm(파이참) Project Python Interpreter 설정 방법 PyCharm 을 사용하여 Python 프로젝트를 진행할 때, 프로젝트에서 사용하는 가상환경을 바라보도록 설정하는 방법을 알려드리도록 하겠습니다. 저는 Mac 을 사용중이므로 캡쳐된 사진을 맥을 기반으로 하지만 윈도우를 사용하시는 분들 께서도 비슷하게 찾으실 수 있을 것이라 생각합니다. 1. Pycharm Setting 창 열기 맥을 기준으로 PyCharm > Settings 를 클릭하거나, 키보드에서 Command(⌘) + ',' 를 누르는 것으로 Settings 창을 엽니다. 2. Project > Python Interperter 탭으로 이동 좌측 메뉴에서 Project: {자신의 프로젝트명} > Python Int.. 2023. 7. 17.
Flask 프로젝트 생성 및 시작하는 방법 (직접 시작하는 방법과 PyCharm으로 하는 방법) Flask 프로젝트 생성 및 시작하는 방법 (직접 시작하는 방법과 PyCharm으로 하는 방법) Flask는 Python 프레임워크로 Django 보다 가벼운 프레임워크로서 사용하기에 좋은 프레임워크입니다. Flask 프로젝트를 생성하고 시작하는 방법에 대해 알려드리도록 하겠습니다. 참고로 PyCharm을 사용하시면 따로 설정해줄 것도 없이 바로 기본 Flask 환경을 세팅할 수 있지만 혹시나 PyCharm을 사용하시지 않는 분들을 위해 직접 세팅하는 방법을 알려드린 뒤, PyCharm을 사용하면 얼마나 쉽게 세팅할 수 있는지도 보여드리도록 하겠습니다. Python은 이미 설치되어 있다는 가정하에 시작하도록 하겠습니다. 목차 직접 가상환경과 Flask 세팅하여 프로젝트 시작하는 방법 프로젝트 진행할 프로.. 2023. 2. 16.
프로그래머스 코딩테스트 연습 Level 3 - 가장 먼 노드 (Python) 프로그래머스 코딩테스트 연습 Level 3 - 가장 먼 노드 (Python) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 3 중 그래프, 너비 우선 탐색(BFS) 관련 문제인, [가장 먼 노드] 문제를 Python를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다. 노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solut.. 2022. 11. 28.
프로그래머스 코딩테스트 연습 Level 3 - 여행경로 (JavaScript/Python) 프로그래머스 코딩테스트 연습 Level 3 - 여행경로 (JavaScript/Python) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 3 중 깊이/너비 우선 탐색(DFS/BFS) 관련 문제인, [여행경로] 문제를 JavaScript 와 Python를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 주어진 항공권을 모두 이용하여 여행경로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다. 항공권 정보가 담긴 2차원 배열 tickets가 매개변수로 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 모든 공항은 알파벳 대문자 3글자로 이루어집니다. 주어진 공항 수는 3개 이상 10,000개 이하입니다. tickets.. 2022. 11. 25.
프로그래머스 코딩테스트 연습 Level 3 - 단어 변환 (JavaScript/Python) 프로그래머스 코딩테스트 연습 Level 3 - 단어 변환 (JavaScript/Python) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 3 중 깊이/너비 우선 탐색(DFS/BFS) 관련 문제인, [단어 변환] 문제를 JavaScript 와 Python를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 두 개의 단어 begin, target과 단어의 집합 words가 있습니다. 아래와 같은 규칙을 이용하여 begin에서 target으로 변환하는 가장 짧은 변환 과정을 찾으려고 합니다. 1. 한 번에 한 개의 알파벳만 바꿀 수 있습니다. 2. words에 있는 단어로만 변환할 수 있습니다. 예를 들어 begin이 "hit", target가 "cog", words가 ["hot",".. 2022. 11. 24.
프로그래머스 코딩테스트 연습 Level 3 - 네트워크 (JavaScript/Python) 프로그래머스 코딩테스트 연습 Level 3 - 네트워크 (JavaScript/Python) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 3 중 깊이/너비 우선 탐색(DFS/BFS) 관련 문제인, [네트워크] 문제를 JavaScript 와 Python를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다. 컴퓨터의 개수 n, 연결에 대한 정.. 2022. 11. 23.
프로그래머스 코딩테스트 연습 Level 3 - 베스트앨범 (JavaScript/Python) 프로그래머스 코딩테스트 연습 Level 3 - 베스트앨범 (JavaScript/Python) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 3 중 해시(Hash) 관련 문제인, [베스트앨범] 문제를 JavaScript 와 Python를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 스트리밍 사이트에서 장르 별로 가장 많이 재생된 노래를 두 개씩 모아 베스트 앨범을 출시하려 합니다. 노래는 고유 번호로 구분하며, 노래를 수록하는 기준은 다음과 같습니다. 속한 노래가 많이 재생된 장르를 먼저 수록합니다. 장르 내에서 많이 재생된 노래를 먼저 수록합니다. 장르 내에서 재생 횟수가 같은 노래 중에서는 고유 번호가 낮은 노래를 먼저 수록합니다. 노래의 장르를 나타내는 문자열 배열 gen.. 2022. 11. 15.
프로그래머스 코딩테스트 연습 Level 2 - 위장 (JavaScript/Python) 프로그래머스 코딩테스트 연습 Level 2 - 위장 (JavaScript/Python) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중 해시(Hash) 관련 문제인, [위장] 문제를 JavaScript 와 Python를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 종류 이름 얼굴 동그란 안경, 검정 선글라스 상의 파란색 티셔츠 하의 청바지 겉옷 긴 코트 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질.. 2022. 11. 14.
프로그래머스 코딩테스트 연습 Level 2 - 전화번호 목록 (Python) 프로그래머스 코딩테스트 연습 Level 2 - 전화번호 목록 (Python) Programmers(프로그래머스)의 코딩테스트 연습문제 Level 2 중 해시(Hash) 관련 문제인, [전화번호 목록] 문제를 Pythoon를 사용하여 해결해 보도록 하겠습니다. 문제 문제 설명 전화번호부에 적힌 전화번호 중, 한 번호가 다른 번호의 접두어인 경우가 있는지 확인하려 합니다. 전화번호가 다음과 같을 경우, 구조대 전화번호는 영석이의 전화번호의 접두사입니다. 구조대 : 119 박준영 : 97 674 223 지영석 : 11 9552 4421 전화번호부에 적힌 전화번호를 담은 배열 phone_book 이 solution 함수의 매개변수로 주어질 때, 어떤 번호가 다른 번호의 접두어인 경우가 있으면 false를 그렇지.. 2022. 11. 11.
백준 2887번 행성 터널 문제 (Python) 백준 2887번 행성 터널 문제 (Python) 백준 2887번 행성 터널 문제를 Python를 사용하여 해결해 보도록 하겠습니다. 문제 때는 2040년, 이민혁은 우주에 자신만의 왕국을 만들었다. 왕국은 N개의 행성으로 이루어져 있다. 민혁이는 이 행성을 효율적으로 지배하기 위해서 행성을 연결하는 터널을 만들려고 한다. 행성은 3차원 좌표위의 한 점으로 생각하면 된다. 두 행성 A(xA, yA, zA)와 B(xB, yB, zB)를 터널로 연결할 때 드는 비용은 min(|xA-xB|, |yA-yB|, |zA-zB|)이다. 민혁이는 터널을 총 N-1개 건설해서 모든 행성이 서로 연결되게 하려고 한다. 이때, 모든 행성을 터널로 연결하는데 필요한 최소 비용을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 행.. 2022. 10. 13.
백준 1517번 버블 소트 문제 (Python) 백준 1517번 버블 소트 문제 (Python) 백준 1517번 버블 소트 문제를 Python를 사용하여 해결해 보도록 하겠습니다. 문제 N개의 수로 이루어진 수열 A[1], A[2], …, A[N]이 있다. 이 수열에 대해서 버블 소트를 수행할 때, Swap이 총 몇 번 발생하는지 알아내는 프로그램을 작성하시오. 버블 소트는 서로 인접해 있는 두 수를 바꿔가며 정렬하는 방법이다. 예를 들어 수열이 3 2 1 이었다고 하자. 이 경우에는 인접해 있는 3, 2가 바뀌어야 하므로 2 3 1 이 된다. 다음으로는 3, 1이 바뀌어야 하므로 2 1 3 이 된다. 다음에는 2, 1이 바뀌어야 하므로 1 2 3 이 된다. 그러면 더 이상 바꿔야 할 경우가 없으므로 정렬이 완료된다. 입력 첫째 줄에 N(1 ≤ N ≤.. 2022. 10. 12.