본문 바로가기

분류 전체보기153

[SQLite] 파이썬 데이터베이스 연동(2), 테이블 조회, 수정, 삭제 테이블 조회하기 #파이썬 데이터베이스 연동(SQLite) import sqlite3 from sqlite3.dbapi2 import connect conn = sqlite3.connect('/mnt/c/Users/mch12/Documents/python_basic/resource/database.db') #커서 바인딩 c = conn.cursor() #데이터 조회 c.execute("SELECT * FROM users") #커서 위치가 변경 #1개 로우 선택 # print('One -> \n', c.fetchone()) #지정 로우 선택 # print('Three -> \n', c.fetchmany(size=3)) rows = c.fetchall() for row in rows: print('retrie.. 2021. 11. 5.
[SQLite] 파이썬 데이터베이스 기본 연동, 테이블 생성, 데이터 삽입 SQLiteDatabaseBrowserPotable 다운로드 하기(https://portableapps.com/apps/development/sqlite_database_browser_portable) db browser실행 DB생성 & Auto Commit conn = sqlite3.connect('본인디렉터리의절대경로/resource/database.db', isolation_level=None) #파이썬 데이터베이스 연동하기 import sqlite3 #DB생성 & Auto Commit conn = sqlite3.connect('본인경로/python_basic/resource/database.db', isolation_level=None) DB브라우저에서 열기 만든 데이터베이스를 선택해 줍니다. 커.. 2021. 11. 4.
[Python] 백준 (소수&팰린드롬) 문제 어떤 수와 그 수의 숫자 순서를 뒤집은 수가 일치하는 수를 팰린드롬이라 부른다. 예를 들어 79,197과 324,423 등이 팰린드롬 수이다. 어떤 수 N (1 ≤ N ≤ 1,000,000)이 주어졌을 때, N보다 크거나 같고, 소수이면서 팰린드롬인 수 중에서, 가장 작은 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 N이 주어진다. 출력 첫째 줄에 조건을 만족하는 수를 출력한다. 예제 입력 1 31 예제 출력 1 101 문제풀이 팰린드롬 == 123321, 가나다나가 등 뒤집어도 같은 수 소수를 판별하는 함수를 만들어 둔다.(isPrime) 입력한 숫자부터 1000000까지 팰린드롬 수를 찾는다. 만약 n이 커서 출력이 10000000이 넘는 경우가 생길 수 있다. 반복문을 다 도는 동안 r.. 2021. 11. 4.
[Python] 모듈과 패키지 1. 모듈 파이썬 모듈은 전역변수, 함수등 을 모아둔 파일 입니다. 2. 패키지 패키지는 모듈을 디렉토리형식으로 구조화한 것입니다. 모듈들을 넣어둔 디렉토리명이 패키지명이 됩니다. 패키지 만들기 디렉토리를 하나 생성합니다. pkg디렉토리 안에 fibonacci.py로 피보나치 수를 계산하는 모듈을 하나 만들었습니다. 만든 모듈 사용해보기 pkg 패키지 디렉토리안에 fibonacci 라는 모듈명으로부터 Fibonacci클래스를 import하는 모습입니다. 결과가 잘 출력됩니다. 테스트2 import pkg.calculations as cal 혹은 from pkg.calculations import div as d 등 모두 가능 파이썬 빌트인 함수 확인해보기 (import없어도 자동으로 사용 가능) __in.. 2021. 11. 3.
[Python] 백준 (분산처리) 1009번 문제 재용이는 최신 컴퓨터 10대를 가지고 있다. 어느 날 재용이는 많은 데이터를 처리해야 될 일이 생겨서 각 컴퓨터에 1번부터 10번까지의 번호를 부여하고, 10대의 컴퓨터가 다음과 같은 방법으로 데이터들을 처리하기로 하였다. 1번 데이터는 1번 컴퓨터, 2번 데이터는 2번 컴퓨터, 3번 데이터는 3번 컴퓨터, ... , 10번 데이터는 10번 컴퓨터, 11번 데이터는 1번 컴퓨터, 12번 데이터는 2번 컴퓨터, ... 총 데이터의 개수는 항상 ab개의 형태로 주어진다. 재용이는 문득 마지막 데이터가 처리될 컴퓨터의 번호가 궁금해졌다. 이를 수행해주는 프로그램을 작성하라. 입력 입력의 첫 줄에는 테스트 케이스의 개수 T가 주어진다. 그 다음 줄부터 각각의 테스트 케이스에 대해 정수 a와 b가 주어진다... 2021. 11. 2.
[Python] 가상환경 설정 및 패키지 설치하기 (WSL) 가상환경(Virtual Environments)이란? 자신이 원하는 환경을 구축하기 위해 필요한 모듈만 담아 놓는 공간이다. 각 모듈은 다른 모듈에 대한 의존성(dependency)이 다르기 때문에 설치하다보면 충돌이 날 수도 있습니다. 따라서 각 프로젝트 별로 별개의 가상환경을 만들어놓고 사용해야 함. 가상환경 생성방법 파이썬 2에서는 virtualenv 라는 외부 패키지를 사용해서 가상 환경을 구성했지만, 파이썬 3.3 부터 venv 모듈이 내장되기 때문에 별도 패키지 설치없이 파이썬만 설치되어 있으면 바로 가상 환경 구성이 가능하게 되었습니다. 프로젝트 폴더에 들어간다. python -m venv '가상환경이름' 을 입력한다. 잠시 기다리면 .venv라는 이름의 가상환경 폴더가 생성됨. 가상환경 활.. 2021. 11. 1.
[Python] 백준 (LCS 최장 공통 부분 수열) 9251번 문제 LCS(Longest Common Subsequence, 최장 공통 부분 수열)문제는 두 수열이 주어졌을 때, 모두의 부분 수열이 되는 수열 중 가장 긴 것을 찾는 문제이다. 예를 들어, ACAYKP와 CAPCAK의 LCS는 ACAK가 된다. 입력 첫째 줄과 둘째 줄에 두 문자열이 주어진다. 문자열은 알파벳 대문자로만 이루어져 있으며, 최대 1000글자로 이루어져 있다. 출력 첫째 줄에 입력으로 주어진 두 문자열의 LCS의 길이를 출력한다. 예제 입력 1 ACAYKP CAPCAK 예제 출력 1 4 문제 풀이 문제를 처음 본 생각: 무슨 말이지...? 결국 부분 수열 중 길이가 가장 긴 것을 구하자! LCS에는 최장 공통 문자열(Longest Common Substring)과 최장 공통 부분 수열(L.. 2021. 11. 1.
[Python] 프로그래머스 (위클리 챌린지 5주차_ 모음 사전) 문제 설명 사전에 알파벳 모음 'A', 'E', 'I', 'O', 'U'만을 사용하여 만들 수 있는, 길이 5 이하의 모든 단어가 수록되어 있습니다. 사전에서 첫 번째 단어는 "A"이고, 그다음은 "AA"이며, 마지막 단어는 "UUUUU"입니다. 단어 하나 word가 매개변수로 주어질 때, 이 단어가 사전에서 몇 번째 단어인지 return 하도록 solution 함수를 완성해주세요. 제한사항 word의 길이는 1 이상 5 이하입니다. word는 알파벳 대문자 'A', 'E', 'I', 'O', 'U'로만 이루어져 있습니다. 입출력 예 word result "AAAAE" 6 "AAAE" 10 "I" 1563 "EIO" 1189 입출력 예 설명 입출력 예 #1 사전에서 첫 번째 단어는 "A"이고, 그다음은 .. 2021. 10. 29.
[Python] 프로그래머스 (위클리 챌린지 3주차) 퍼즐 조각 채우기 문제 설명 테이블 위에 놓인 퍼즐 조각을 게임 보드의 빈 공간에 적절히 올려놓으려 합니다. 게임 보드와 테이블은 모두 각 칸이 1x1 크기인 정사각 격자 모양입니다. 이때, 다음 규칙에 따라 테이블 위에 놓인 퍼즐 조각을 게임 보드의 빈칸에 채우면 됩니다. 조각은 한 번에 하나씩 채워 넣습니다. 조각을 회전시킬 수 있습니다. 조각을 뒤집을 수는 없습니다. 게임 보드에 새로 채워 넣은 퍼즐 조각과 인접한 칸이 비어있으면 안 됩니다. 다음은 퍼즐 조각을 채우는 예시입니다. 위 그림에서 왼쪽은 현재 게임 보드의 상태를, 오른쪽은 테이블 위에 놓인 퍼즐 조각들을 나타냅니다. 테이블 위에 놓인 퍼즐 조각들 또한 마찬가지로 [상,하,좌,우]로 인접해 붙어있는 경우는 없으며, 흰 칸은 퍼즐이 놓이지 않은 빈 공간을 .. 2021. 10. 28.
[Python] 백준 (바이러스) 문제 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되어 있지 않기 때문에 영향을 받지 않는다. 어느 날 1번 컴퓨터가 웜 바이러스에 걸렸다. 컴퓨터의 수와 네트워크 상에서 서로 연결되어 있는 정보가 주어질 때, 1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴퓨터의 수.. 2021. 10. 27.
[Python] 백준 (트리 순회) -전위 순회, 중위 순회, 후위 순회 이진 트리를 입력받아 전위 순회(preorder traversal), 중위 순회(inorder traversal), 후위 순회(postorder traversal)한 결과를 출력하는 프로그램을 작성하시오. 예를 들어 위와 같은 이진 트리가 입력되면, 전위 순회한 결과 : ABDCEFG // (루트) (왼쪽 자식) (오른쪽 자식) 중위 순회한 결과 : DBAECFG // (왼쪽 자식) (루트) (오른쪽 자식) 후위 순회한 결과 : DBEGFCA // (왼쪽 자식) (오른쪽 자식) (루트) 가 된다. 입력 첫째 줄에는 이진 트리의 노드의 개수 N(1 ≤ N ≤ 26)이 주어진다. 둘째 줄부터 N개의 줄에 걸쳐 각 노드와 그의 왼쪽 자식 노드, 오른쪽 자식 노드가 주어진다. 노드의 이름은 A부터 차례대로 알파.. 2021. 10. 26.
[Python] 프로그래머스 (위클리 챌린지 12주차 -피로도) 문제 설명 XX게임에는 피로도 시스템(0 이상의 정수로 표현합니다)이 있으며, 일정 피로도를 사용해서 던전을 탐험할 수 있습니다. 이때, 각 던전마다 탐험을 시작하기 위해 필요한 "최소 필요 피로도"와 던전 탐험을 마쳤을 때 소모되는 "소모 피로도"가 있습니다. "최소 필요 피로도"는 해당 던전을 탐험하기 위해 가지고 있어야 하는 최소한의 피로도를 나타내며, "소모 피로도"는 던전을 탐험한 후 소모되는 피로도를 나타냅니다. 예를 들어 "최소 필요 피로도"가 80, "소모 피로도"가 20인 던전을 탐험하기 위해서는 유저의 현재 남은 피로도는 80 이상 이어야 하며, 던전을 탐험한 후에는 피로도 20이 소모됩니다. 이 게임에는 하루에 한 번씩 탐험할 수 있는 던전이 여러개 있는데, 한 유저가 오늘 이 던전들.. 2021. 10. 25.