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

Python

  1. 파이썬으로 정렬된 리스트에서 두 수의 합이 k와 같은지 확인하는 방법

    문제 개요오름차순으로 정렬된 숫자 리스트 nums와 값 k가 주어졌다고 가정해 보겠습니다. 이때 리스트에서 임의로 선택한 두 요소의 합이 정확히 k가 되는지 확인해야 합니다. 단, 숫자에는 음수나 0도 포함될 수 있으며, 추가 메모리를 거의 사용하지 않는 상수 공간(O(1)) 안에서 문제를 해결해야 한다는 조건이 있습니다.예를 들어, 입력이 nums = [-8, -3, 2, 7, 9], k = 4라면 결과는 True입니다. 그 이유는 7과 -3을 선택했을 때 7 + (-3) = 4로 k와 같아지기 때문입니다.해결 접근 방법: 투 포

  2. Python에서 문자 교환으로 두 문자열을 같게 만들 수 있는지 확인하는 방법

    길이가 같은 두 개의 소문자 문자열 s와 t가 있다고 가정해 봅시다. 우리는 s에서 한 문자를, t에서 다른 문자 하나를 골라 서로 맞바꿀 수 있으며, 이 연산은 원하는 만큼 몇 번이든 반복할 수 있습니다. 최종적으로 이 두 문자열을 완전히 동일하게 만드는 것이 가능한지 판별해야 합니다. 예를 들어 입력이 s = abcd, t = cdab라면 출력은 True가 됩니다. 문제 해결 접근 방법 핵심 아이디어는 간단합니다. 문자를 교환할 때마다 각 문자열에서 문자 하나씩이 이동하기 때문에, 특정 문자의 전체 등장 횟수는 항상 그대로 유지

  3. Python Pandas – 입력 레이블에 대한 슬라이스 인덱서 계산 방법

    입력 레이블에 대한 슬라이스 인덱서를 계산하려면 index.slice_indexer() 메서드를 사용합니다. 이 메서드는 시작 레이블(start)과 끝 레이블(end)을 지정하면, 해당 레이블 위치에 대응하는 슬라이스(slice) 객체를 반환합니다.먼저 필요한 라이브러리를 임포트합니다 −import pandas as pdPandas 인덱스 객체를 생성합니다 −index = pd.Index(list('pqrstuvwxyz'))생성된 Pandas 인덱스를 화면에 출력합니다 −print("Pandas Index..

  4. Python Pandas - 입력 레이블의 슬라이스 위치 계산하기

    입력 레이블의 슬라이스 위치란?Pandas에서 인덱스 레이블을 기준으로 슬라이싱을 수행할 때, 해당 레이블이 실제로 어떤 정수 위치(정수 기반 인덱스)에 해당하는지 알아야 하는 경우가 있습니다. 이럴 때 index.slice_locs() 메서드를 사용하면 시작 레이블과 끝 레이블에 대응하는 슬라이스 위치를 손쉽게 계산할 수 있습니다.먼저 필요한 라이브러리를 임포트합니다.import pandas as pd1단계: Pandas 인덱스 객체 생성문자 리스트를 사용해 Pandas 인덱스 객체를 생성합니다.index = pd.Index(li

  5. Python Pandas – RangeIndex 생성 방법 총정리

    Pandas에서 RangeIndex를 생성하려면 pandas.RangeIndex() 메서드를 사용하면 됩니다. 먼저 필요한 라이브러리를 임포트합니다.import pandas as pdRangeIndex란 무엇인가?RangeIndex는 단조 증가 또는 감소하는 범위(monotonic range)만 표현할 수 있도록 제한된 Int64Index의 특수한 형태로, 메모리를 절약할 수 있는 것이 가장 큰 장점입니다. 인덱스의 모든 값을 실제로 저장하지 않고 시작값(start), 종료값(stop), 간격(step) 세 가지 정보만 보관하기 때

  6. Python으로 연속된 짝수·홀수 인덱스 요소를 교환하는 프로그램 만들기

    숫자로 이루어진 리스트 nums가 주어졌을 때, 연속된 짝수 인덱스의 요소끼리 서로 교환하고, 연속된 홀수 인덱스의 요소끼리 서로 교환한 결과 리스트를 반환하는 프로그램을 Python으로 작성해 보겠습니다.예를 들어 입력이 nums = [8,5,3,4,8,9,3,6,4,7]이라면, 짝수 인덱스(0, 2, 4, 6)끼리 그리고 홀수 인덱스(1, 3, 5, 7)끼리 두 칸 간격으로 교환되어 출력은 [3, 4, 8, 5, 3, 6, 8, 9, 4, 7]이 됩니다.문제 해결 접근 방법이 문제는 다음 단계를 따라 해결할 수 있습니다.인덱스

  7. Python Pandas – RangeIndex의 start 매개변수 값 확인하기

    Pandas에서 RangeIndex의 start(시작) 매개변수 값을 확인하려면 index.start 속성을 사용하면 됩니다. 먼저 필요한 라이브러리를 임포트합니다.import pandas as pdRangeIndex란?RangeIndex는 단조 증가 또는 감소하는 연속적인 범위만 표현할 수 있도록 제한된 Int64Index의 특수한 형태로, 메모리를 절약할 수 있는 장점이 있습니다. 경우에 따라 RangeIndex를 사용하면 연산 속도가 향상되기도 합니다.RangeIndex는 start(시작값), stop(종료값), step(간격

  8. Python Pandas – RangeIndex의 stop 매개변수 값 확인하기

    Pandas에서 RangeIndex의 stop 매개변수 값을 확인하려면 index.stop 속성을 사용하면 됩니다.필요한 라이브러리 불러오기먼저 필요한 라이브러리를 임포트합니다.import pandas as pdRangeIndex란?RangeIndex는 단조 증가(또는 감소)하는 연속적인 범위만 표현할 수 있도록 제한된 Int64Index의 메모리 절약형 특수 형태입니다. 이러한 특성 덕분에 경우에 따라 연산 속도를 향상시킬 수 있습니다.start(시작값), stop(종료값), step(증감폭)을 지정하여 범위 인덱스를 생성할 수

  9. Python으로 동일한 유형의 작업 사이 k 시간 간격을 유지하며 모든 작업을 완료하는 데 필요한 최소 시간 구하기

    문제 개요 정수 리스트 tasks가 주어지고, 각 항목은 서로 다른 작업 유형을 나타냅니다. 여기에 음수가 아닌 정수 k도 함께 주어집니다. 각 작업을 완료하는 데는 1단위의 시간이 걸리며, 작업은 반드시 주어진 순서대로 수행해야 합니다. 단, 같은 유형의 두 작업 사이에는 최소 k 단위의 시간 간격이 있어야 합니다. 어느 시점에서든 작업을 수행하거나 기다릴 수 있으며, 우리의 목표는 모든 작업을 완료하는 데 필요한 총 시간을 구하는 것입니다. 입력 예시와 결과 분석 예를 들어 입력이 tasks = [0, 1, 1, 2], k =

  10. Python Pandas – RangeIndex의 step(단계) 매개변수 값 확인 방법

    Pandas에서 RangeIndex의 step(단계) 매개변수 값을 확인하려면 index.step 속성을 사용하면 됩니다. 이 속성은 인덱스를 생성할 때 지정한 간격(step) 값을 그대로 반환합니다.필요한 라이브러리 불러오기먼저 pandas 라이브러리를 임포트합니다.import pandas as pdRangeIndex란?RangeIndex는 단조 증가 또는 감소하는 규칙적인 범위만 표현할 수 있도록 제한된 Int64Index의 메모리 절약형 특수 사례입니다. 연속적인 정수 시퀀스를 저장할 때 일반 인덱스보다 훨씬 적은 메모리를 사

  11. Python Pandas - range 객체에서 RangeIndex 생성하기

    파이썬 판다스(Pandas)에서 range 객체를 활용해 RangeIndex를 생성하려면 pd.RangeIndex.from_range() 메서드를 사용하면 됩니다. 이 메서드는 파이썬의 기본 range 객체를 그대로 인덱스 객체로 변환해 주기 때문에, 연속된 정수 인덱스가 필요한 상황에서 간편하게 사용할 수 있습니다. 먼저 필요한 라이브러리를 임포트합니다. import pandas as pd 이제 range 객체를 이용해 RangeIndex를 생성합니다. index = pd.RangeIndex.from_range(range(

  12. Python으로 주식 매수·매도를 통해 얻을 수 있는 최대 이익 계산하기

    문제 개요시간 순서대로 기록된 회사의 주가를 담고 있는 숫자 리스트 nums가 주어진다고 가정해 봅시다. 하루에 최대 한 주씩 매수할 수 있으며, 여러 주식을 동시에 보유하는 것도 가능하고, 원하는 날짜에 얼마든지 매도할 수 있습니다. 이때 얻을 수 있는 최대 이익을 반환하는 프로그램을 작성해야 합니다.예시입력이 nums = [3, 4, 7, 3, 5]라면 출력은 9가 됩니다.이유는 다음과 같습니다. 가격이 3일 때와 4일 때 각각 한 주씩 매수한 뒤, 가격이 7일 때 두 주 모두 매도합니다. 이후 다시 가격이 3일 때 매수하고,

  13. Python Pandas – 기본 범주(Categorical)를 기반으로 인덱스 생성하기

    기본 범주(Categorical)를 기반으로 인덱스를 생성하려면 pandas.CategoricalIndex() 메서드를 사용하면 됩니다.CategoricalIndex란?CategoricalIndex는 내부의 Categorical 객체에 기반한 인덱스입니다. 이 인덱스는 제한적이며 일반적으로 고정된 개수의 가능한 값만 가질 수 있습니다. 예를 들어 성별(남, 여), 학점(A, B, C)처럼 값의 종류가 정해져 있는 데이터를 다룰 때 유용합니다.먼저 필요한 라이브러리를 임포트합니다.import pandas as pd범주형 인덱스 만들기

  14. Python Pandas – 순서가 있는(Ordered) CategoricalIndex에서 최소값 구하기

    개요순서가 있는(Ordered) CategoricalIndex에서 최소값을 구하려면 Pandas의 catIndex.min() 메서드를 사용하면 됩니다. 이 메서드는 범주형 인덱스에 정의된 순서를 기준으로 가장 작은 값을 반환합니다.단계별 구현 방법1. 필요한 라이브러리 임포트먼저 pandas 라이브러리를 임포트합니다.import pandas as pd2. 순서가 있는 CategoricalIndex 생성categories 매개변수로 범주형 데이터의 카테고리를 설정하고, ordered 매개변수를 True로 지정하여 순서가 있는 범주형으

  15. Python으로 문자 매트릭스 보드에서 단어 찾기 – 가로·세로 방향 검색 프로그램

    문자로 이루어진 매트릭스(2차원 배열) 보드가 있다고 가정해 봅시다. 각 셀에는 하나의 문자가 저장되어 있으며, 여기에 검색할 대상 문자열 word가 주어집니다. 우리가 확인해야 할 것은 이 단어가 매트릭스 안에서 왼쪽→오른쪽 또는 위→아래의 한 방향으로 연속된 문자들을 읽어 나타나는지 여부입니다.문제 예시예를 들어 입력이 다음과 같다고 해보겠습니다.antsspinlaps찾을 단어: tip이 경우 출력은 True입니다. 세 번째 열을 위에서 아래로 읽으면 t → i → p, 즉 tip이 만들어지기 때문입니다.해결 접근 방법이 문제는

  16. Python Pandas – 순서가 있는(Ordered) CategoricalIndex에서 최대값 구하기

    Pandas에서 순서가 있는(Ordered) CategoricalIndex의 최대값을 구하려면 catIndex.max() 메서드를 사용하면 됩니다. CategoricalIndex는 제한적이며 일반적으로 고정된 개수의 값만 가질 수 있는데, ordered=True로 설정하면 카테고리 간 크기 비교가 가능해지므로 최대값·최소값 연산을 사용할 수 있습니다. 1. 필요한 라이브러리 임포트 먼저 pandas 라이브러리를 임포트합니다. import pandas as pd 2. 순서가 있는 CategoricalIndex 생성 categories

  17. Python으로 연락처 이메일 목록에서 고유한 사람 수 찾기

    문제 소개 연락처 목록에 여러 사람의 메일 ID가 담겨 있다고 가정해 보겠습니다. 각 행(연락처)에는 동일한 사람의 메일 ID가 두 개 이상 포함될 수 있습니다. 어떤 연락처 i에 대해, j < i를 만족하는 j가 존재하고 연락처 j가 연락처 i와 하나 이상의 공통 이메일을 공유한다면, 연락처 i는 중복으로 간주합니다. 우리의 목표는 연락처 목록에서 고유한 사람의 수를 구하는 것입니다. 예를 들어 입력이 다음과 같다고 해보죠. contacts = [[alex@gmail.com, alex@yahoo.com], [alex_25@

  18. 파이썬으로 바다가 보이는 건물 찾기: 스택을 활용한 효율적인 알고리즘

    문제 정의 여러 건물의 높이가 담긴 리스트가 주어졌다고 가정해 보겠습니다. 이때 특정 건물이 바다를 볼 수 있는 조건은, 그 건물의 오른쪽에 있는 모든 건물이 자신보다 낮을 때입니다. 우리의 목표는 바다가 보이는 건물들의 인덱스를 오름차순으로 찾아내는 것입니다. 예를 들어 입력이 다음과 같다면, [8, 12, 12, 9, 10, 6] 출력은 [2, 4, 5]가 됩니다. 인덱스 2(높이 12), 인덱스 4(높이 10), 그리고 마지막 건물인 인덱스 5(높이 6)에서 바다가 보이기 때문입니다. 접근 방법: 스택(Stack) 활용 이

  19. Python으로 배달 작업 목록의 유효성을 확인하는 프로그램

    orders라는 문자열 리스트가 있다고 가정해 봅시다. 리스트의 각 요소는 P 또는 D로 시작하는데, P는 픽업(pick up)을, D는 배달(delivery)을 의미합니다. 문자 뒤에는 주문 번호가 붙습니다. 예를 들어 P6은 6번 주문을 픽업했다는 뜻입니다.유효성 판단 규칙다음 세 가지 규칙에 따라 orders 리스트가 유효한지 확인해야 합니다.픽업하기 전에 해당 주문을 배달할 수 없습니다.모든 픽업된 주문은 반드시 배달까지 완료되어야 합니다.이미 픽업과 배달이 모두 완료된 주문은 다시 픽업하거나 배달할 수 없습니다.예를 들어

  20. 파이썬으로 배열이 최대 힙(Max Heap) 형태인지 확인하는 방법

    문제 이해하기힙(Heap)은 완전 이진 트리(complete binary tree) 구조를 가지는 대표적인 자료구조입니다. 배열로 표현된 힙 트리가 주어졌을 때, 그 요소들이 최대 힙(Max Heap)의 조건을 만족하는지 확인해야 합니다.최대 힙에서는 모든 부모 노드가 자신의 두 자식 노드보다 크거나 같은 값을 가져야 합니다. 따라서 어느 하나라도 자식 노드보다 작은 값이 존재한다면 해당 배열은 최대 힙이 아닙니다.예를 들어 입력이 nums = [8, 6, 4, 2, 0, 3]이라면 출력은 True가 됩니다. 모든 요소가 자신의 자

Total 8989 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:387/450  20-컴퓨터/Page Goto:1 381 382 383 384 385 386 387 388 389 390 391 392 393