데이터베이스데이터베이스란 데이터를 체계적으로 관리하고 저장하는 시스템이다. 테이블의 형태로 데이터를 관리하는 데이터베이스를 관계형 데이터베이스라고 한다. 팬더스의 데이터프레임을 테이블로 볼 수 있다. 데이터베이스는 SQL이라는 언어를 통해 제어할 수 있다. SQLiteSQLite는 경량화된 데이터베이스 관리 시스템이다. 클라이언트에 내장되어 사용되는 경우가 많다. 파일 하나로 데이터베이스를 관리한다. 파이썬에서는 sqlite3 라이브러리를 통해 SQLite와 소통할 수 있다.사용법sqlite와 연결한다cursor 객체를 생성한다데이터베이스에 할 작업들을 지시한다데이터베이스에 적용한다연결을 종료한다import sqlite3# 데이터베이스 연결. 커서 객체 생성 - 데이터베이스와 상호작용하는 객체con = ..
Python의 함수 호출 방식: 객체 참조에 의한 호출Python에서 함수 호출 방식은 다른 프로그래밍 언어와 비교할 때 독특하다. Python은 객체 참조에 의한 호출(Call by Object Reference) 방식을 사용하며, 이로 인해 함수 호출 시 값이 전달되는 방식이 다르게 작동한다. Python의 호출 방식이 무엇인지, 다른 언어와 어떤 차이점이 있는지, 그리고 이 방식이 메모리 관리에 어떤 영향을 미치는지 살펴보자.Python의 객체 참조에 의한 호출Python에서 매개변수가 저장하는 것은 실제 값이 아니라 객체에 대한 참조이다. 함수를 호출할 때, 인자로 전달된 변수는 객체의 참조를 전달한다. 이때 중요한 점은, 함수가 참조를 받지만 그 객체 자체를 수정할 수 있느냐는 객체의 변경 가능..
문제출처https://www.acmicpc.net/problem/1181 걸린시간: 16분 47초 문제분석문자열이 여러개 주어졌을 때 중복되는 문자열은 제거하고 길이가 짧은 순부터 단어가 정렬하되 동일한 길이의 경우, 사전 순으로 정렬해야하는 문제다.최대 2초 내에 최대 20000개의 데이터를 처리해야하므로 알고리즘의 시간복잡도는 O(N^2)을 넘어서는 안된다. 문제접근내 접근from sys import stdininput = stdin.readlinen = int(input())my_words = [input().strip() for x in range(n)]# 사전순으로 정렬하기my_words.sort() # 문자열인 경우 사전순으로 정렬하는 듯 하다.# 길이순으로 정렬하기my_words.sort(..
문제출처https://www.acmicpc.net/problem/16165문제분석① 걸그룹에 대한 정보를 입력 받은 후에 ② 퀴즈의 유형에 따라 출력하는 값의 형태가 결정되는 프로그램을 구현하는 문제였다. 예를 들어, '사나'와 1을 퀴즈로 입력 받으면 '사나가 속한 그룹의 이름'을 출력해야 하고 '레드벨벳'과 0을 퀴즈로 입력받으면 '레드벨벳'에 속한 멤버들의 이름을 알파벳 순으로 출력해야한다. 퀴즈의 유형은 1과 0으로 구분된다. 1이면 멤버의 이름으로 그룹명을 찾아야 하고 0이면 그룹명으로 멤버의 모든 이름을 찾아야 한다. 문제접근dict을 활용하기로 하였다. 이름을 조회해서 관련 된 이름을 검색하기에 dict이 좋기 때문이다. dict은 키와 값으로 이뤄진다. hash table을 파이썬에 구현..
1. 문제 https://www.acmicpc.net/problem/10989 2. 문제 해석 한줄로 구분되는 숫자를 입력 받은 후에 받은 숫자들을 정렬한 후 다시 한줄씩 출력하는 문제다. 입력 데이터의 개수는 1