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

Python

  1. 파이썬 집합(Set) 연산 완벽 가이드 – 합집합, 교집합, 차집합부터 주요 메서드까지

    수학에서 집합(set)은 서로 구별되는 객체들의 모임으로, 그 자체를 하나의 객체로 취급하는 개념입니다. 예를 들어 숫자 2, 4, 6을 각각 따로 보면 서로 다른 객체이지만, 이들을 하나로 묶어 생각하면 크기가 3인 하나의 집합 {2, 4, 6}이 됩니다. 집합의 기본 연산 연산 표기법 의미 교집합(Intersection) A ∩ B A와 B 양쪽에 모두 속하는 모든 원소 합집합(Union) A ∪ B A 또는 B(혹은 둘 다)에 속하는 모든 원소 차집합(Difference) A − B A에는 속하지만 B에는 속하지

  2. Python으로 두 리스트 간 누락 값과 추가 값 찾는 방법

    집합 이론에서 집합 A의 여집합(complement)은 A에 속하지 않는 원소들을 의미합니다. 또한 집합 B를 기준으로 한 A의 상대 여집합(relative complement)은 흔히 A와 B의 차집합이라고 불립니다. 이 글에서는 바로 이 차집합 개념을 활용하여 두 리스트 사이의 누락된 값과 추가된 값을 찾아보겠습니다.Python은 set 자료형에서 difference() 함수를 기본적으로 제공하므로, 별도의 라이브러리 설치 없이 손쉽게 구현할 수 있습니다.알고리즘 1단계 : 사용자로부터 입력받은 두 개의 리스트 A와 B를 생성한

  3. Python에서 반복문 없이 재귀 함수로 수열 패턴 출력하기 (n → 0 → n)

    주어진 숫자 n에 대해, 루프(반복문)를 전혀 사용하지 않고 특정 패턴의 수열을 출력하는 방법을 알아보겠습니다. 이 문제의 핵심은 재귀 함수(recursive function)를 활용하는 것입니다.여기서 구현할 패턴은 n에서 시작해 5씩 감소하여 0(또는 음수)에 도달한 뒤, 다시 5씩 증가하며 처음 값 n으로 돌아오는 수열입니다.예시입력: n = 15 출력: 15 10 5 0 5 10 15알고리즘1단계: 숫자 n을 입력받습니다.2단계: 감소 방향으로 이동하다가 목표값 n에 다시 도달하면 종료합니다.3단계: 현재 0 또는 음수 쪽으

  4. 파이썬으로 두 숫자의 이진 표현이 아나그램인지 확인하는 프로그램

    두 개의 숫자가 주어졌을 때, 두 숫자의 이진수(binary) 표현이 서로 아나그램(anagram) 관계인지 확인하는 것이 이번 포스팅의 목표입니다. 여기서 아나그램이란, 구성 요소는 같지만 순서만 다른 경우를 의미합니다. 즉, 두 숫자의 이진 표현에 포함된 0과 1의 개수가 각각 동일하다면 두 숫자는 이진 아나그램이라고 할 수 있습니다.파이썬에서는 collections 모듈의 Counter(iterable) 메서드와 딕셔너리 비교를 활용하면 이 문제를 매우 간단하고 빠르게 해결할 수 있습니다.예시입력: a = 8, b = 16 출

  5. Python zip() 함수를 활용한 새로운 문자 집합 매핑 방법

    26개의 알파벳 문자 집합(a~z)이 있을 때, 이와 다른 순서로 배열된 새로운 문자 집합을 사용해 두 집합 사이의 대응 관계를 만드는 작업을 해보겠습니다. 즉, 새로운 문자 집합의 각 문자를 기존 알파벳과 매핑하여 입력된 문자열을 변환하는 것이 목표입니다. 예제 새로운 문자 집합: qwertyuiopasdfghjklzxcvbnm 입력: wwmm 출력: bbzy 위 예제에서 새로운 문자 집합은 키보드 배열 순서입니다. q가 a에 해당하고, w가 b에 해당하는 식으로 순서대로 매핑됩니다. 따라서 입력 wwmm에서 w→b, m→z로

  6. 파이썬에서 ==와 is 연산자의 차이점 완벽 정리

    파이썬 프로그래밍에서 is 연산자와 ==(equals) 연산자는 겉보기에 비슷하게 동작하는 것처럼 보이지만, 실제로는 완전히 다른 목적을 가진 연산자입니다. == 연산자: 두 변수의 값이 서로 같은지를 비교합니다. is 연산자: 두 변수가 동일한 객체(메모리상의 같은 주소)를 가리키고 있는지를 확인합니다. 즉, ==는 내용이 같은가를 묻는 반면, is는 정말 같은 객체인가를 묻는 연산자라고 이해하면 됩니다. 예제 코드 # Python program to # illustrate the # difference between #

  7. 파이썬으로 리스트에서 최댓값과 최솟값의 위치를 찾는 방법

    파이썬에서는 리스트의 최댓값과 최솟값은 물론, 그 요소가 위치한 자리까지 아주 간단하게 구할 수 있습니다. 파이썬은 이를 위한 다양한 내장 함수를 제공하는데, 핵심적인 역할을 하는 함수는 다음 세 가지입니다.핵심 내장 함수min() : 배열(리스트)에서 최솟값을 찾습니다.max() : 배열(리스트)에서 최댓값을 찾습니다.index() : 특정 요소가 저장된 인덱스(위치)를 반환합니다.알고리즘maxminposition(A, n) /* A는 사용자가 입력한 리스트이며, n은 리스트의 크기입니다. */ Step 1: 내장 함수를 사용해

  8. 파이썬 SequenceMatcher로 두 문자열의 가장 긴 공통 부분 문자열 찾기

    개요 두 개의 문자열이 주어졌을 때, 두 문자열에 공통으로 포함된 가장 긴 부분 문자열(longest common substring)을 찾아 출력하는 것이 이번 문제의 목표입니다. 파이썬에서는 표준 라이브러리인 difflib 모듈의 SequenceMatcher.find_longest_match() 메서드를 활용하면 복잡한 알고리즘을 직접 구현하지 않고도 이 문제를 간단하게 해결할 수 있습니다. difflib.SequenceMatcher 클래스는 요소가 해시 가능(hashable)하기만 하면 문자열, 리스트 등 어떤 유형의 시퀀스 쌍

  9. 파이썬으로 리스트의 짝수·홀수 요소를 두 개의 리스트로 나누는 방법

    이 프로그램에서는 사용자로부터 입력받아 리스트를 생성하며, 리스트에는 홀수와 짝수가 뒤섞인 요소들이 들어 있습니다. 우리가 해야 할 과제는 이 리스트를 두 개의 리스트로 분리하는 것입니다. 하나는 홀수 요소만 담고, 다른 하나는 짝수 요소만 담습니다. 예제 입력: [1, 2, 3, 4, 5, 9, 8, 6] 출력: 짝수 리스트: [2, 4, 8, 6] 홀수 리스트: [1, 3, 5, 9] 알고리즘 1단계 : 사용자 입력으로 리스트를 생성합니다. 2단계 : 홀수 전용과 짝수 전용으로 빈 리스트 두 개를 준비합니다. 3단계 : 메

  10. 파이썬으로 이름 이니셜 출력하기 – 성은 그대로 표기하는 방법

    이름의 각 단어는 이니셜(첫 글자 대문자)로 줄이고, 성만은 원래 형태 그대로 출력하는 프로그램을 파이썬으로 만들어 보겠습니다. 이 과정에서는 파이썬이 기본으로 제공하는 내장 함수들을 활용합니다. 먼저 split() 함수로 입력받은 전체 이름을 공백 기준으로 나누어 리스트를 만듭니다. 다음으로 리스트를 마지막에서 두 번째 단어까지 순회하며 upper() 함수로 각 단어의 첫 글자를 대문자로 변환하고 뒤에 마침표(.)를 붙입니다. 마지막으로 성에 해당하는 리스트의 마지막 항목은 title() 함수로 첫 글자만 대문자로 바꾸어 결과 문

  11. Python으로 숫자의 이진 표현에서 가장 긴 연속된 1의 길이 찾는 방법

    주어진 숫자를 이진수(binary)로 변환했을 때, 그 표현 안에서 가장 길게 연속된 1(1s)의 길이를 구하는 프로그램을 Python으로 작성해 보겠습니다.예제입력: n = 15 출력: 4 15의 이진 표현은 1111이며, 연속된 1의 최대 길이는 4입니다.알고리즘이 문제는 비트 연산(bitwise operation)을 활용하면 매우 효율적으로 해결할 수 있습니다. 핵심 아이디어는 다음과 같습니다.숫자를 입력받습니다.카운터 변수 c = 0으로 초기화합니다.숫자가 0이 될 때까지 반복하며, 각 반복마다 카운터를 1씩 증가시킵니다.매

  12. 파이썬으로 숫자의 이진 표현이 회문인지 확인하는 방법

    이 글에서는 파이썬의 내장 함수를 활용하여 숫자의 이진 표현이 회문(palindrome)인지 확인하는 방법을 알아봅니다. 먼저 bin() 함수를 사용해 숫자를 이진수 형태로 변환한 뒤, 이진 문자열을 뒤집어 원래 값과 비교합니다. 두 값이 일치하면 회문이고, 그렇지 않으면 회문이 아닙니다. 예시 입력: 5 출력: palindrome 설명 숫자 5의 이진 표현은 101입니다. 이를 뒤집어도 101로 원래 값과 동일하게 유지됩니다. 따라서 5는 회문입니다. 알고리즘 Palindromenumber(n) /* n은 입력받은 숫자 */

  13. 파이썬으로 양의 정수의 비트를 반전시키는 방법

    양의 정수의 비트를 반전시키는 것은 대표적인 비트 조작 문제 중 하나입니다. 파이썬에서는 내장 함수인 bin()을 사용해 숫자를 이진수 문자열로 변환한 뒤, 문자열 슬라이싱으로 비트 순서를 뒤집고, 다시 정수로 변환하는 방식으로 간단하게 해결할 수 있습니다. 구체적인 동작 과정은 다음과 같습니다. 먼저 bin() 함수로 숫자를 이진수로 변환합니다. 이때 bin()은 결과 앞에 0b 접두사를 붙이므로, 처음 두 문자를 제외한 나머지 부분을 뒤집습니다. 그다음 지정된 비트 크기(bit_size)에 맞도록 부족한 자릿수만큼 뒤에 0을 채

  14. Python으로 호스트 이름과 IP 주소를 표시하는 프로그램 만들기

    네트워크 프로그래밍이나 시스템 관리 작업을 하다 보면 현재 실행 중인 컴퓨터의 호스트 이름(Hostname)과 IP 주소를 확인해야 하는 경우가 자주 있습니다. Python에서는 기본 모듈인 socket만으로 이 정보를 아주 간단하게 얻을 수 있습니다.핵심 함수 살펴보기socket 모듈은 이 작업에 필요한 두 가지 함수를 제공합니다.gethostname(): 로컬 머신(현재 실행 중인 컴퓨터)의 표준 호스트 이름을 반환합니다.gethostbyname(): 호스트 데이터베이스에서 특정 호스트 이름에 대응하는 호스트 정보(IP 주소)를

  15. 파이썬 Seaborn으로 그래프 그리기: 산점도 시각화 완벽 가이드

    Seaborn과 데이터 시각화 개요Plotly의 파이썬 그래핑 라이브러리는 온라인에서 인터랙티브하면서도 출판 수준의 고품질 그래프를 만들 수 있게 해주는 도구입니다. 이 라이브러리는 선 그래프, 산점도, 영역 차트, 막대 그래프, 오차 막대, 박스 플롯, 히스토그램, 히트맵, 서브플롯, 다중 축 차트, 극좌표 차트, 버블 차트 등 다양한 시각화에 활용됩니다.Seaborn은 파이썬에서 통계 그래픽을 손쉽게 제작하기 위한 라이브러리입니다. matplotlib을 기반으로 구축되어 있으며, pandas 데이터 구조와 자연스럽게 통합되어 있

  16. 파이썬으로 문자열 내 특정 단어의 등장 횟수를 세는 방법

    이 글에서는 사용자가 입력한 문자열에서 특정 단어가 몇 번 등장하는지 계산하고, 그 결과를 출력하는 파이썬 프로그램을 다룹니다. 문자열 처리의 기본기를 익히기에 좋은 예제로, split() 함수와 반복문, 조건문을 활용해 문제를 해결합니다. 예제 programming 출력:: 2 위 예제에서 programming이라는 단어는 주어진 문자열 안에 두 번 등장하므로 결과값은 2가 됩니다. 알고리즘 wordoccurences(n, p) /* n은 입력 문자열, p는 등장 횟수를 셀 단어 */ 1단계: 문자열을 공백 기준으로 분리한다.

  17. 파이썬으로 문장에서 중복 단어 제거하기

    문장이 주어졌을 때 그 안에서 중복된 단어를 모두 제거하는 프로그램을 파이썬으로 작성하는 방법을 알아보겠습니다.예제입력: I am a peaceful soul and blissful soul. 출력: I am a peaceful soul and blissful.알고리즘1단계: 입력 문장을 공백을 기준으로 분리해 단어 리스트를 만듭니다.2단계: 리스트에 담긴 각 문자열을 하나의 문자열로 결합합니다.3단계: Counter 메서드로 딕셔너리를 생성합니다. 이때 단어는 키(key), 등장 빈도는 값(value)이 됩니다.4단계: 고유한 단

  18. 파이썬으로 3D 리스트(3차원 배열) 만들기: 예제 코드와 알고리즘

    3D 리스트란 3차원 배열을 의미합니다. 행(row), 열(column), 깊이(depth)의 세 가지 차원으로 구성된 자료구조로, 과학 계산, 이미지 처리, 게임 개발 등 다양한 분야에서 활용됩니다. 이 글에서는 파이썬을 사용해 정수 요소를 담을 수 있는 3차원 배열을 생성하는 방법을 단계별로 살펴보겠습니다. 예제 입력: 3 × 3 × 2 [[1,1,1],[2,2,2],[3,3,3]], [[4,4,4],[5,5,5],[6,6,6]] 알고리즘 Step 1: 3D 리스트의 크기(차원)를 지정합니다. Step 2: for 반복문을

  19. 생년월일로 별자리(점성술 기호)를 표시하는 Python 프로그램

    출생일(월과 일)이 주어졌을 때, 그에 해당하는 점성술 기호, 즉 별자리(Zodiac Sign)를 화면에 표시하는 것이 이 프로그램의 목표입니다. 서양 점성술에서는 태어난 날짜가 어느 별자리 구간에 속하는지에 따라 12개의 별자리 중 하나가 결정됩니다.예제입력 : Day = 13, Month = November 출력 : Scorpio (전갈자리)알고리즘프로그램의 동작 흐름은 다음 세 단계로 정리할 수 있습니다.1단계 : 생년월일(월, 일)을 입력받는다. 2단계 : 입력된 월과 일이 특정 별자리의 유효한 날짜 범위 안에 있는지 검사한

  20. n + nn + nnn + …(m번 반복) 수열의 합을 계산하는 파이썬 프로그램

    문제 개요 양의 정수 n과 반복 횟수 m이 주어졌을 때, n + nn + nnn + … 처럼 항이 진행될수록 n이 한 글자씩 이어 붙여지는 수열의 합을 구하는 것이 이 프로그램의 목표입니다.예를 들어 n = 3, m = 5라면 3 + 33 + 333 + 3333 + 33333 = 37035를 계산하게 됩니다. 알고리즘 n과 m을 입력받습니다. 숫자 n을 문자열로 변환합니다. 합계를 첫 번째 항인 n으로 초기화합니다. 문자열을 이어 붙여 nn, nnn, nnnn… 형태의 다음 항을 만듭니다. 각 항을 더하기 전에 문자열을 다시 정

Total 8989 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:71/450  20-컴퓨터/Page Goto:1 65 66 67 68 69 70 71 72 73 74 75 76 77