Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python

  1. Python에서 일치하는 패턴을 굵게 표시하는 프로그램 구현하기

    문제 설명 텍스트와 문자열 리스트 patterns가 주어졌을 때, 텍스트에서 주어진 패턴 중 하나라도 일치하는 모든 부분 문자열을 <b>와 </b> 태그로 감싸는 함수를 정의해야 합니다. 만약 두 패턴이 서로 인접하거나 겹쳐 있다면, 하나의 태그로 병합해야 합니다. 예를 들어 입력이 다음과 같다고 가정해 보겠습니다. text = thisissampleline patterns = [this, ssam, sample] 여기서 this는 인덱스 0~3에 위치하고, ssam과 sample은 인덱스 4부터 시작하여

  2. Python에서 명령줄 인수를 추가하는 방법 완벽 가이드

    소개Python에는 명령줄 인수를 손쉽게 파싱할 수 있는 강력한 argparse 모듈이 기본으로 내장되어 있습니다. 운영체제 명령줄에서 사용자 입력을 받거나, 파싱할 URL을 전달하거나, S3 버킷에 업로드할 파일을 지정하는 것처럼 복잡한 상호작용 없이 프로그램이 명령줄 매개변수를 받도록 만들고 싶다면, argparse를 최소한의 노력으로 활용할 수 있습니다.기본 사용법코드가 받아들일 인수를 정의합니다.인수 파서(argument parser)를 호출하여 결과 객체를 반환받습니다.파싱된 인수를 사용합니다.요약하자면, 인수 파서의 전체

  3. 파이썬으로 합이 같은 두 그룹으로 분할 가능한지 확인하는 프로그램 만들기

    문제 개요숫자 리스트 nums가 주어졌을 때, 이 리스트를 두 그룹으로 나누어 각 그룹에 속한 원소들의 합이 서로 같아지도록 할 수 있는지 확인하는 프로그램을 만들어 보겠습니다.예를 들어 입력이 nums = [2, 3, 6, 5]라면 출력은 True가 됩니다. [2, 6]과 [3, 5] 두 그룹으로 나누면 각각의 합이 8로 동일하기 때문입니다.해결 접근 방법이 문제는 전형적인 동일한 부분 집합 분할(Partition Equal Subset Sum) 문제로, 동적 계획법(DP)을 활용하면 효율적으로 해결할 수 있습니다. 해결 단계는

  4. 파이썬에서 데이터 값을 문자열로 보간(Interpolation)하는 방법

    파이썬에서는 다양한 포맷팅 방식을 사용하여 데이터 값을 문자열에 삽입할 수 있습니다. 이는 디버깅, 리포트 생성, 폼 출력 등 다양한 용도로 활용됩니다. 이 글에서는 파이썬의 세 가지 문자열 포맷팅 방식과 데이터 보간 방법을 살펴보겠습니다. 파이썬의 3가지 문자열 포맷팅 방식 % 연산자 (구방식) - 파이썬 2, 3 모두 지원 str.format() (신방식) - 파이썬 2.6 이상 지원 f-string (최신 방식) - 파이썬 3.6 이상 지원, 현재 권장 표준 1. 구방식: % 연산자 오래된 스타일의 문자열 포

  5. Python으로 리스트의 모든 값을 동일하게 만드는 최소 연산 횟수 계산하기

    문제 개요 정수로 이루어진 리스트 nums가 주어집니다. 우리는 다음과 같은 연산을 수행할 수 있습니다. 리스트에서 가장 큰 숫자를 하나 골라, 두 번째로 큰 숫자와 같은 값으로 바꿉니다. 목표는 이 연산을 반복하여 리스트의 모든 정수를 동일하게 만드는 것이며, 이때 필요한 최소 연산 횟수를 반환해야 합니다. 예시 입력이 nums = [5, 9, 2]라고 가정해 보겠습니다. 이때 출력은 3입니다. 먼저 9를 선택해 5로 바꿉니다 → [5, 5, 2] 그다음 5를 선택해 2로 바꿉니다 → [5, 2, 2] 마지막으로 남은 5를

  6. Python으로 Excel 스프레드시트 수식 계산하기: 셀 참조와 공식을 처리하는 프로그램

    2차원 행렬로 표현된 Excel 스프레드시트가 있다고 가정해 보겠습니다. 우리의 목표는 모든 셀의 값과 수식이 계산된 결과 행렬을 구하는 것입니다. Excel 스프레드시트는 일반적으로 아래와 같은 형태를 가집니다.B17035=A1+A2문제 이해하기스프레드시트의 열은 A, B, C...로 명명되고, 행은 1, 2, 3...으로 번호가 매겨집니다. 각 셀에는 다음 세 가지 중 하나가 들어갈 수 있습니다.값: 숫자 그 자체 (예: 7, 3)셀 참조: 다른 셀을 가리키는 주소 (예: B1)수식: 숫자 또는 셀 참조 간의 연산식 (예: =A

  7. 파이썬 openpyxl로 엑셀 차트 만드는 방법 – 단계별 완벽 가이드

    이 글에서는 파이썬(Python)의 openpyxl 모듈을 사용해 엑셀에서 차트를 만드는 방법을 소개합니다. 테니스 선수들의 그랜드슬램 우승 횟수를 데이터로 삼아, 빈 상태에서 엑셀 스프레드시트를 새로 만들고 막대그래프(Bar Chart)까지 완성하는 전 과정을 단계별로 살펴보겠습니다. 소개 마이크로소프트 오피스는 2007 버전부터 엑셀 파일에 .xlsx 확장자를 도입해 더 많은 행과 열을 저장할 수 있게 했습니다. 이 변화로 엑셀 시트는 ZIP 압축이 적용된 XML 기반 파일 형식으로 전환되었습니다. 오늘날 전 세계에서 마이크

  8. 파이썬으로 n을 만들기 위한 피보나치 수의 최소 개수 구하기

    숫자 n이 주어졌을 때, n을 피보나치 수들의 합으로 표현하는 데 필요한 피보나치 수의 최소 개수를 구하는 문제입니다.예를 들어 입력값이 n = 20이라면 출력은 3이 됩니다. 피보나치 수 [2, 5, 13]을 사용하면 2 + 5 + 13 = 20이 되기 때문입니다.문제 해결 접근 방법이 문제는 그리디(Greedy) 알고리즘으로 효율적으로 해결할 수 있습니다. 핵심 아이디어는 n 이하에서 가장 큰 피보나치 수를 계속 빼주는 것입니다. 다음 단계를 따릅니다.결과를 저장할 변수 res를 0으로 초기화합니다.피보나치 수열 리스트 fibo

  9. 파이썬으로 문자열의 문자들을 사용해 k개의 회문을 만들 수 있는지 확인하는 방법

    문제 소개문자열 s와 숫자 k가 주어졌을 때, s에 포함된 모든 문자를 사용하여 k개의 회문(팰린드롬)을 만들 수 있는지 확인하는 문제입니다.예를 들어 입력이 s = amledavmel, k = 2라면 결과는 True입니다. 이 문자들을 조합하면 level과 madam이라는 두 개의 회문을 만들 수 있기 때문입니다.핵심 아이디어회문은 앞에서 읽으나 뒤에서 읽으나 같은 문자열입니다. 회문을 구성할 때 각 문자는 좌우 대칭으로 짝수 개씩 배치되며, 길이가 홀수인 회문이라면 가운데 위치에 단 하나의 문자만 홀수 개로 존재할 수 있습니다.

  10. Python으로 올바른 순서의 공항 경로 찾기: 오일러 경로 알고리즘 구현하기

    비행 노선이 [출발지, 도착지] 쌍으로 이루어진 리스트로 주어진다고 가정해 보겠습니다. 이 리스트는 뒤섞여 있어 순서를 알 수 없으며, 우리는 모든 공항을 실제 방문 순서대로 찾아야 합니다. 만약 유효한 여정이 두 개 이상 존재한다면, 사전순(lexicographically)으로 가장 작은 경로를 반환해야 합니다. 예를 들어 입력이 다음과 같다면, flights = [[Mumbai, Kolkata], [Delhi, Mumbai], [Kolkata, Delhi]] 출력은 다음과 같습니다. [Delhi, Mumbai, Kolkata,

  11. 정규식(Regex)과 데이터 유형으로 Pandas DataFrame의 여러 열 선택하기

    DataFrame이란 무엇일까요?Pandas의 DataFrame은 스프레드시트나 데이터베이스처럼 행(row)과 열(column)로 구성된 표 형태의 데이터 구조입니다. 즉, DataFrame은 2차원(2D) 객체입니다.1D와 2D라는 용어가 헷갈리나요?1차원(Series)과 2차원(DataFrame)의 핵심 차이는 특정 데이터 지점에 도달하기 위해 필요한 참조 정보의 개수입니다. Series에서 값을 추출하려면 행 인덱스 하나만 있으면 됩니다.반면 표 형태인 DataFrame에서는 한 가지 참조 정보만으로는 부족하며, 행 값과 열

  12. Python 패키지 생성 및 접근 방법 완벽 가이드

    이 글에서는 Python의 패키지(Package)에 대해 알아보겠습니다. 패키지를 사용하면 모듈과 코드 파일을 체계적인 계층 구조로 관리할 수 있어 프로젝트가 커져도 유지보수가 훨씬 쉬워집니다. 지금부터 Python에서 패키지를 만들고 사용하는 방법을 단계별로 살펴보겠습니다.패키지란 무엇인가?Python에서 패키지는 관련된 모듈들을 하나의 디렉터리로 묶은 것입니다. 패키지 내부에는 또 다른 패키지(서브패키지)나 여러 개의 모듈 파일을 포함할 수 있으며, 이를 통해 대규모 프로젝트도 깔끔하게 구성할 수 있습니다.패키지 생성 방법디렉터

  13. Python으로 위키백과(Wikipedia) 인포박스 텍스트 추출하기 – requests & BeautifulSoup 완전 가이드

    이 글에서는 Python의 requests와 BeautifulSoup(bs4) 라이브러리를 사용해 위키백과(Wikipedia) 인포박스(Infobox)에서 텍스트를 스크래핑하는 방법을 소개합니다. 약 10분이면 충분할 만큼 과정이 간단하니, 웹 스크래핑 입문용 프로젝트로도 딱 좋습니다.1. 필요한 라이브러리 설치먼저 bs4와 requests 패키지가 필요합니다. 아래 명령어를 실행해 설치하세요.pip install bs4 pip install requests2. 구현 순서인포박스에서 원하는 텍스트를 가져오는 코드는 다음 순서로 작성

  14. Python pytrie 모듈로 문자열 접두사 일치 검색하기

    이 글에서는 Python의 pytrie 모듈을 사용하여 문자열 리스트에서 특정 접두사와 일치하는 문자열을 찾는 방법을 알아봅니다. 먼저 예시를 통해 개념을 명확하게 이해해 보겠습니다. 입력: 리스트: [tutorialspoint, tutorials, tutorialspython, python] 접두사: tutorials 출력: [tutorialspoint, tutorials, tutorialspython] 이 작업은 여러 가지 방법으로 수행할 수 있지만, 이 튜토리얼에서는 pytrie 모듈을 활용하는 방법을 집중적으로 다룹니다

  15. Python과 SQLite로 배우는 SQL 데이터베이스 활용법

    이 글에서는 Python과 SQLite 데이터베이스를 함께 사용하는 방법을 배워보겠습니다. Python은 SQLite 데이터베이스에 연결할 수 있는 내장 모듈을 제공하며, 우리는 sqlite3 모듈을 사용해 Python과 SQLite를 손쉽게 연동할 수 있습니다.SQLite 데이터베이스 연결하기Python에서 SQLite 데이터베이스에 연결하려면 아래 세 가지 단계를 따라야 합니다. 각 단계를 살펴본 후 직접 프로그램을 작성해 보세요.sqlite3 모듈 임포트: 먼저 sqlite3 모듈을 불러옵니다.연결 객체 생성: sqlite3.

  16. Python – 두 리스트에서 서로 다른 요소끼리만 쌍 만들기

    이 글에서는 두 개의 리스트에서 값이 서로 같은 요소는 제외하고 쌍(pair)을 만드는 방법을 알아보겠습니다. 아래 단계를 따라가며 문제를 해결해 보세요.문제 해결 순서요소가 담긴 두 개의 리스트를 초기화합니다.두 리스트를 순회하면서, 서로 다른 값끼리 만나는 경우에만 쌍을 결과 리스트에 추가합니다.최종 결과를 출력합니다.예제 1: 리스트 컴프리헨션 활용가장 간결하고 파이썬다운 방법은 리스트 컴프리헨션(list comprehension)을 사용하는 것입니다. 코드를 살펴보겠습니다.# 리스트 초기화 list_1 = [1, 2, 3,

  17. Python에서 튜플 리스트를 딕셔너리로 변환하는 방법

    이 글에서는 Python에서 튜플 리스트를 딕셔너리(dict)로 변환하는 방법을 알아봅니다. 튜플 리스트를 딕셔너리로 변환하는 것은 생각보다 간단하며, 내장 함수만으로도 손쉽게 처리할 수 있습니다.1. dict() 함수로 간단하게 변환하기가장 기본적인 방법은 내장 함수인 dict()를 사용하는 것입니다. 아래 단계를 따라 코드를 작성해 보세요.튜플을 포함하는 리스트를 초기화합니다.dict() 함수를 사용해 튜플 리스트를 딕셔너리로 변환합니다.결과 딕셔너리를 출력합니다.예제 코드# 리스트 초기화 tuples = [(Key 1, 1),

  18. Python에서 0과 1을 번갈아 배치해 리스트 초기화하는 방법

    이 글에서는 0과 1이 번갈아 배치된 리스트를 초기화하는 방법을 알아봅니다. 리스트의 길이가 주어졌을 때, 짝수 인덱스에는 1을, 홀수 인덱스에는 0을 넣어 [1, 0, 1, 0, ...] 형태의 리스트를 만드는 것이 목표입니다.Python에서 이를 구현하는 대표적인 두 가지 방법을 소개합니다.방법 1 — 반복문과 인덱스 활용가장 기본적인 접근 방식입니다. 아래 단계를 따라 코드를 작성할 수 있습니다.빈 리스트와 원하는 길이(length)를 초기화합니다.길이만큼 반복하면서 인덱스의 홀짝 여부에 따라 0과 1을 번갈아 추가합니다.결과

  19. Python 리스트에서 요소 빈도 구하는 2가지 방법 (딕셔너리 & Counter)

    이 글에서는 Python 리스트에 포함된 각 요소의 빈도(등장 횟수)를 구하는 방법을 알아봅니다. 문제를 해결하는 방법은 여러 가지가 있지만, 그중 가장 널리 사용되는 두 가지 방법을 예제 코드와 함께 살펴보겠습니다. 방법 1: 딕셔너리를 이용한 직접 구현 딕셔너리를 활용하면 별도의 모듈 없이 요소별 등장 횟수를 직접 집계할 수 있습니다. 아래 단계를 따라 코드를 작성해 보세요. 요소가 담긴 리스트와 빈 딕셔너리를 초기화합니다. 리스트의 요소를 하나씩 순회합니다. 현재 요소가 딕셔너리에 이미 존재하는지 확인합니다. 존재한다면 해

  20. Python에서 리스트 요소를 K번 반복해 확장하는 방법

    개요 이 글에서는 Python에서 리스트의 각 요소를 K번 반복하여 새로운 리스트로 확장하는 방법을 알아봅니다. 두 가지 서로 다른 방법으로 이 문제를 해결할 수 있습니다. 방법 1: 반복 연산자(*) 사용하기 다음 단계에 따라 문제를 해결할 수 있습니다. 리스트, K, 그리고 결과를 담을 빈 리스트를 초기화합니다. 리스트를 순회하면서 반복 연산자(*)를 사용해 현재 요소를 K번 추가합니다. 결과를 출력합니다. 예제 코드 # 리스트 초기화 numbers = [1, 2, 3] K = 5 # 빈 리스트 생성 result = []

Total 8989 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:187/450  20-컴퓨터/Page Goto:1 181 182 183 184 185 186 187 188 189 190 191 192 193