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

Python

  1. 파이썬으로 문자열의 양쪽 절반이 동일한 문자 집합을 갖는지 확인하는 프로그램

    문자열이 주어졌을 때, 그 문자열의 양쪽 절반이 서로 동일한 문자 집합을 가지고 있는지 확인하는 것이 이번 포스팅의 목표입니다. 문제를 해결하는 기본 아이디어는 간단합니다. 먼저 문자열을 중간을 기준으로 둘로 나눈 뒤, 각 절반에 포함된 문자들의 종류와 빈도가 일치하는지 비교하면 됩니다.만약 문자열의 길이가 홀수라면 정확히 반으로 나눌 수 없으므로, 가운데 문자 하나는 무시하고 나머지 좌우 부분만 비교합니다.알고리즘전체 로직은 다음 단계로 구성됩니다.입력 받기: 대상 문자열을 입력받습니다.문자열 분할: 문자열 길이에 따라 두 부분으

  2. 파이썬으로 두 리스트의 공통 요소 찾아 출력하기

    이 글에서는 파이썬(Python)을 사용하여 주어진 두 리스트에서 서로 공통으로 포함된 요소를 찾아 출력하는 방법을 알아봅니다. 예제 입력 : L1 = [5, 6, 7, 8, 9] L2 = [5, 13, 34, 22, 90] 출력 : {5} 설명 두 리스트에 모두 존재하는 공통 요소는 5입니다. 알고리즘 1단계 : 사용자 입력으로 두 개의 리스트를 생성합니다. 2단계 : 각 리스트를 집합(set)으로 변환한 뒤, set1 & set2 결과를 출력합니다. 3단계 : set1 & set2 연산은 두 집합의 교집합

  3. 파이썬으로 두 문자열의 공통되지 않은 문자만 추출해 연결하기

    두 개의 문자열이 주어졌을 때, 먼저 첫 번째 문자열에서 두 문자열에 공통으로 나타나는 문자를 모두 제거하고, 남은 고유한(uncommon) 문자들끼리 이어 붙여 하나의 새로운 문자열을 만드는 문제입니다. 예제 입력 >> 첫 번째 문자열:: AABCD 두 번째 문자열:: MNAABP 출력 >> CDMNP 위 예제에서 A와 B는 두 문자열에 모두 존재하므로 제거되고, 첫 번째 문자열의 고유 문자 C, D와 두 번째 문자열의 고유 문자 M, N, P가 순서대로 연결되어 최종 결과가 만들어집니다. 알고리즘 Un

  4. 파이썬으로 리스트의 모든 서브리스트(부분 리스트) 출력하는 방법

    주어진 리스트가 있을 때, 그 리스트로 만들 수 있는 모든 부분 리스트(서브리스트)를 출력하는 프로그램을 작성해 보겠습니다. 이 문제는 파이썬의 슬라이싱(slicing) 기능과 중첩 반복문을 활용하면 아주 간단하게 해결할 수 있습니다. 예시 입력 : list = [1, 2, 3] 출력 : [], [1], [1, 2], [1, 2, 3], [2], [2, 3], [3] [1, 2, 3]이라는 리스트는 빈 리스트를 포함해 총 7개의 서브리스트를 가질 수 있습니다. 일반적으로 길이가 n인 리스트는 빈 리스트를 포함하여 n(n+1)

  5. 파이썬으로 숫자가 양수, 음수, 홀수, 짝수, 0인지 확인하는 프로그램

    프로그래밍을 배울 때 가장 먼저 접하게 되는 조건문 연습 중 하나가 바로 입력받은 숫자가 양수인지 음수인지, 그리고 홀수인지 짝수인지 판별하는 문제입니다. 이 글에서는 파이썬(Python)을 사용해 하나의 숫자에 대해 양수·음수·0 여부와 홀수·짝수 여부를 한 번에 확인하는 방법을 알아보겠습니다.알고리즘1단계: 숫자를 입력받습니다.2단계: 숫자가 0보다 큰지 확인합니다. 참이면 양수, 거짓이면 음수이며, 값이 정확히 0이라면 0으로 판별합니다.3단계: 숫자를 2로 나누었을 때 나머지가 0이면 짝수, 그렇지 않으면 홀수입니다.예제 코

  6. Python으로 문자열에서 첫 번째 반복 단어 찾기

    하나의 문자열이 주어졌을 때, 그 안에서 첫 번째로 반복되는 단어를 찾는 것이 이번 글의 목표입니다. 이 문제는 Python의 Collections 모듈을 활용하면 아주 간단하게 해결할 수 있습니다. Collections 모듈에서 제공하는 Counter() 메서드를 사용하면 각 단어가 몇 번 등장했는지 손쉽게 계산할 수 있습니다. 알고리즘 전체적인 접근 방식은 다음 세 단계로 구성됩니다. 1단계: 주어진 문자열을 공백을 기준으로 분할하여 단어 목록을 만듭니다. 2단계: 단어 목록을 Counter()를 통해 딕셔너리 형태(단어 →

  7. 파이썬으로 특정 비트 범위 내 설정되지 않은 비트 개수 세기

    양수 하나와 비트 범위가 주어졌을 때, 해당 범위 안에 있는 설정되지 않은 비트(unset bit), 즉 값이 0인 비트의 개수를 구하는 문제입니다.입력 : n = 50, 시작 위치 = 2, 끝 위치 = 5 출력 : 2비트 위치 2부터 5 사이에는 0인 비트가 총 2개 존재합니다.알고리즘문제를 해결하는 절차는 다음과 같습니다.1단계 : bin() 함수를 사용해 n을 이진수 문자열로 변환한다. 2단계 : 앞의 두 문자(0b)를 제거한다. 3단계 : 문자열을 뒤집는다. 4단계 : 인덱스 l-1부터 r까지(r은 미포함) 범위에서 0인 비

  8. 파이썬으로 두 개 이상의 리스트 합집합(Union) 구하는 방법

    합집합(Union) 연산은 두 개의 리스트에 담긴 모든 요소를 가져와 하나의 새로운 리스트에 저장하는 작업을 의미합니다.List1 :: [1, 2, 3] List2 :: [4, 5, 6] List3 :: [1, 2, 3, 4, 5, 6]알고리즘Step 1: 두 개의 리스트를 입력받습니다. Step 2: 합집합 연산을 위해 + 연산자를 사용해 두 리스트를 연결합니다.예제 코드# UNION OPERATION A = list() B = list() n = int(input(Enter the size of the List :: )) pri

  9. 파이썬으로 두 리스트의 교집합 구하기

    교집합(Intersection) 연산이란, 두 개의 리스트에서 공통으로 포함된 원소만 추출하여 새로운 세 번째 리스트에 저장하는 작업을 의미합니다.List1 :: [1, 2, 3] List2 :: [2, 3, 6] List3 :: [2, 3]위 예시에서 List1과 List2 양쪽에 모두 존재하는 값은 2와 3이므로, List3에는 [2, 3]이 저장됩니다.알고리즘1단계: 두 개의 리스트를 입력받습니다. 2단계: 첫 번째 리스트의 모든 원소를 순회하며 두 번째 리스트의 원소와 비교합니다. 3단계: 일치하는 원소가 발견되면 세 번째

  10. 파이썬에서 요소 길이를 기준으로 리스트 정렬하는 방법

    이 글에서는 사용자로부터 입력받은 리스트의 요소들을 문자열 길이를 기준으로 정렬하는 파이썬 프로그램을 소개합니다. 여기서는 파이썬의 내장 함수인 sorted()를 활용하며, 핵심은 key=len 매개변수입니다. 예시 입력 :: [mona, pp, aaa] 각 요소의 길이는 [4, 2, 3] 길이 기준 정렬 순서는 [2, 3, 4] 출력 :: [pp, aaa, mona] 알고리즘 정렬 과정은 아주 간단합니다. 리스트의 요소를 입력받습니다. sorted(A, key=len) 함수를 적용해 길이순으로 정렬합니다. 예제 코드

  11. Python 시퀀스에서 두 번째로 많이 반복되는 단어 찾는 방법

    개요문자열(시퀀스)이 주어졌을 때, 우리의 과제는 두 번째로 많이 반복되는 단어를 찾는 것입니다. 이 문제는 파이썬의 Counter(iterator)를 활용하면 간단하게 해결할 수 있습니다. Counter는 단어를 키(key)로, 해당 단어의 빈도수를 값(value)으로 갖는 딕셔너리를 자동으로 생성해 줍니다.알고리즘사용자 정의 리스트를 생성합니다.리스트를 딕셔너리로 변환합니다.딕셔너리의 값들을 가져와 내림차순으로 정렬합니다.정렬된 결과에서 두 번째 요소가 곧 두 번째로 큰 값입니다.전체 딕셔너리를 다시 순회하면서, 값이 두 번째로

  12. 파이썬 람다(익명) 함수로 거듭제곱 출력하는 방법

    이 글에서는 파이썬의 map() 내장 함수 안에 람다(lambda) 함수, 즉 익명 함수를 활용하여 특정 숫자의 거듭제곱 값을 차례대로 출력하는 방법을 소개합니다. 익명 함수(lambda)란? 파이썬에서 익명 함수는 이름 없이 정의되는 함수로, def 대신 lambda 키워드를 사용해 한 줄로 간단하게 작성할 수 있습니다. 주로 짧고 단순한 연산이 필요할 때 유용하며, 이번 예제처럼 map() 함수와 함께 사용하면 시퀀스의 각 요소에 동일한 연산을 손쉽게 적용할 수 있습니다. 알고리즘 1단계: 출력할 항의 개수 n을 입력받는다.

  13. 파이썬으로 리스트 평균 구하기 – sum() 함수 활용 방법

    파이썬은 여러 개의 숫자 요소를 손쉽게 더할 수 있도록 sum() 함수를 기본적으로 제공합니다. 이 함수를 활용하면 리스트에 담긴 모든 요소의 합계를 구한 뒤, 요소 개수로 나누어 간단하게 평균값을 계산할 수 있습니다.알고리즘1단계: 리스트의 크기(size)를 입력받는다. 2단계: 리스트에 들어갈 숫자(요소)를 입력받는다. 3단계: sum() 함수를 사용해 모든 숫자의 합계를 계산한다. 4단계: 합계를 개수로 나누어 평균을 구한다.예제 코드# 리스트의 평균 구하기 A = list() n = int(input(리스트의 크기를 입력하세

  14. 파이썬으로 리스트에서 최댓값·최솟값·두 번째로 큰 값·두 번째로 작은 값 찾는 방법

    리스트(배열)가 주어졌을 때, 그 안에서 최댓값, 최솟값, 두 번째로 큰 값, 두 번째로 작은 값을 모두 찾아야 하는 경우가 자주 있습니다. 파이썬에서는 정렬을 활용할 수도 있지만, 리스트를 단 한 번만 순회하면서 네 가지 값을 동시에 구하는 방식이 훨씬 효율적입니다. 알고리즘 1단계: 리스트 요소를 입력받습니다. 2단계: 각 숫자를 리스트의 다른 숫자들과 비교합니다. 3단계: 최댓값, 최솟값, 두 번째로 큰 값, 두 번째로 작은 값을 구합니다. 동작 원리 네 개의 변수(maxi, secondmax, mini, secondmin

  15. 파이썬(Python)으로 리스트에서 중복 요소 제거하는 프로그램

    중복 요소가 포함된 하나의 리스트가 주어졌을 때, 중복을 제거한 요소들만 담고 있는 새로운 리스트를 만드는 것이 이번 글의 목표입니다. 파이썬에서는 간단한 반복문과 조건문만으로도 손쉽게 구현할 수 있으며, 내장 함수를 활용하면 더욱 짧은 코드로 처리할 수도 있습니다. 예시 입력 :: [2, 3, 4, 3, 4, 6, 78, 90] 출력 :: [2, 3, 4, 6, 78, 90] 알고리즘 1단계: 원본 리스트를 생성합니다. 2단계: 비어 있는 새로운 리스트를 생성합니다. 3단계: 원본 리스트의 모든 요소를 순회(traverse)

  16. 정렬되지 않은 두 리스트를 병합해 정렬된 리스트로 만드는 Python 프로그램

    문제 소개사용자가 입력한 두 개의 리스트가 주어지며, 각 리스트의 요소들은 정렬되어 있지 않습니다. 이번 글에서는 이렇게 정렬되지 않은 두 배열을 하나로 병합한 후, 전체를 오름차순으로 정렬된 리스트로 만드는 Python 프로그램을 살펴보겠습니다.예제입력: A[] = {100, 50, 150} B[] = {200, 30, 20} 출력: 병합 리스트: {20, 30, 50, 100, 150, 200}알고리즘전체 절차는 다음과 같습니다.먼저 두 개의 사용자 입력 리스트를 생성합니다.최종 병합 리스트의 크기는 첫 번째 리스트

  17. 파이썬으로 구현하는 순환 중복 검사(CRC) 프로그램 – 개념부터 예제 코드까지

    CRC(Cyclic Redundancy Check, 순환 중복 검사)는 디지털 데이터의 오류를 감지하는 대표적인 기술로, 데이터 전송 과정에서 발생하는 오류를 효과적으로 탐지할 수 있습니다. 이 기술의 핵심 원리는 이진 나눗셈(binary division)에 있습니다. 이 기법에서는 순환 중복 검사 비트(CRC 비트), 즉 일련의 중복 비트(redundant bits)가 사용됩니다. 이 비트들은 데이터 단위(data unit)의 끝에 덧붙여져, 최종적으로 생성된 데이터 단위가 사전에 약속된 특정 이진수로 정확하게 나누어 떨어지도록

  18. Python으로 두 문자열의 공통 문자를 알파벳 순서로 출력하는 방법

    사용자가 입력한 두 개의 문자열이 주어졌을 때, 두 문자열에 공통으로 포함된 문자들을 알파벳 순서로 정렬하여 출력하는 것이 이번 튜토리얼의 목표입니다.예제입력: string1: python string2: program 출력: op설명두 문자열 사이에서 공통으로 나타나는 문자는 o(1회)와 p(1회)입니다. 따라서 최종 결과는 알파벳 순서대로 정렬된 op가 됩니다.알고리즘Step 1: 사용자로부터 두 개의 문자열을 입력받습니다. Step 2: 두 문자열을 각각 Counter 딕셔너리로 변환합니다. Step 3: intersectio

  19. 문자열을 한 번만 순회해 공백을 맨 앞으로 이동하는 파이썬 프로그램

    단어와 공백이 섞여 있는 문자열이 주어졌을 때, 문자열 전체를 단 한 번만 순회하면서 모든 공백을 문자열의 맨 앞으로 이동시키는 것이 이번 글의 목표입니다. 이 문제는 파이썬(Python)의 리스트 컴프리헨션(List Comprehension)을 활용하면 아주 간단하고 효율적으로 해결할 수 있습니다.예제입력: string = python program 출력: string = pythonprogram알고리즘1단계: 단어와 공백이 포함된 문자열을 입력받습니다. 2단계: 입력 문자열을 순회하며 리스트 컴프리헨션으로 공백이 없는 문자열을

  20. 파이썬 문자열 슬라이싱으로 문자열 회전 구현하기

    문자열이 하나 주어졌을 때, 이를 두 가지 방향으로 회전시키는 것이 목표입니다. 하나는 시계 방향(오른쪽 회전), 다른 하나는 반시계 방향(왼쪽 회전)입니다.1. 주어진 문자열을 d개의 요소만큼 왼쪽(반시계 방향)으로 회전합니다. (단, d <= n)2. 주어진 문자열을 d개의 요소만큼 오른쪽(시계 방향)으로 회전합니다. (단, d <= n)예제입력: string = pythonprogram d = 2 출력: 왼쪽 회전: thonprogrampy 오른쪽 회전: ampythonprogr알고리즘1단계: 문자열을 입력받습니다.

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