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

Python

  1. 파이썬으로 복소수를 극좌표 값으로 변환하는 프로그램

    복소수를 극좌표로 변환하기복소수 c가 주어졌을 때, 이를 극좌표 형태인 (반지름, 각도)로 변환하는 것이 목표입니다. 복소수는 일반적으로 x + yj 형태로 표현됩니다.여기서 각 성분은 다음과 같이 정의됩니다.반지름(radius): 복소수의 크기(magnitude)로, √(x² + y²)로 계산됩니다.각도(angle): 양의 x축에서 시작하여 원점과 점 x + yj를 잇는 선분 사이의 반시계 방향 각도입니다.파이썬에서는 cmath 라이브러리를 활용하면 손쉽게 구할 수 있습니다. phase() 함수로 각도를 계산하고, 복소수에 abs

  2. 파이썬 리스트에서 특정 인덱스의 요소만 추출하는 프로그램

    여러 개의 요소로 구성된 리스트 nums가 있다고 가정해 보겠습니다. 이때 리스트에서 홀수 인덱스(0 기준)에 해당하는, 즉 두 번째·네 번째·여섯 번째… 위치에 있는 요소들만 골라내야 합니다.예를 들어 입력이 nums = [5,7,6,4,6,9,3,6,2]라면, 출력은 [7, 4, 9, 6]이 됩니다.문제 해결 접근 방법이 문제는 다음 단계를 통해 해결할 수 있습니다.파이썬의 리스트 슬라이싱(slicing) 기법을 활용합니다.인덱스 1부터 시작해서 리스트 끝까지, 한 단계마다 2씩 건너뛰며 요소를 가져옵니다.슬라이싱 문법은 [1:

  3. Python으로 중복을 제거한 고유 높이 값의 평균 구하기

    문제 개요높이 값들이 담긴 리스트가 주어졌을 때, 그 안에는 중복된 항목도 포함되어 있을 수 있습니다. 이때 우리가 구해야 할 것은 중복을 제거한 고유한 항목들만의 평균입니다.예를 들어 입력이 heights = [96,25,83,96,33,83,24,25]라고 해보겠습니다. 고유한 요소는 [96, 25, 83, 33, 24]이고, 이들의 합은 96 + 25 + 83 + 33 + 24 = 261입니다. 따라서 평균은 261 ÷ 5 = 52.2가 됩니다.해결 접근 방법이 문제는 다음 두 단계만으로 간단하게 해결할 수 있습니다.h_set

  4. 파이썬(Python)으로 숫자의 더 나은 약수를 찾는 프로그램

    문제 설명하나의 숫자 n이 주어졌을 때, 아래 조건에 따라 n의 약수 중에서 더 나은(better) 약수를 찾아야 합니다.두 수 p와 q를 비교할 때, 각 자릿수의 합이 더 큰 수가 더 나은 수로 간주됩니다. 만약 자릿수의 합이 서로 같다면, 실제 값이 더 작은 수가 더 나은 수가 됩니다.예를 들어 입력이 n = 180이라면 출력은 9가 됩니다. 180의 약수는 [1, 2, 3, 4, 5, 6, 9, 10, 12, 15, 18, 20, 30, 36, 45, 60, 90, 180]이며, 이 중 자릿수의 합이 최대인 수들은 [9, 18

  5. Python으로 1부터 n까지의 요소를 가진 리스트 생성하기

    문제 개요 하나의 숫자 n이 주어졌을 때, 1부터 n까지의 요소를 포함하는 크기 n짜리 리스트를 생성해야 합니다. 예를 들어 입력값이 n = 5라면, 출력 결과는 다음과 같습니다. [1, 2, 3, 4, 5] 해결 방법 이 문제는 파이썬의 강력한 문법을 활용하면 매우 간단하게 해결할 수 있습니다. 리스트 컴프리헨션(list comprehension) 기법을 사용하면 반복문 없이도 한 줄의 코드로 리스트를 생성할 수 있습니다. range() 함수를 활용하여 1부터 n까지의 값을 차례대로 가져와 리스트에 담습니다. 이때 하한값은 1

  6. Python 슬라이싱 기법으로 리스트를 뒤집는 방법 완벽 가이드

    파이썬에서 리스트를 뒤집는 가장 간결하고 우아한 방법 중 하나는 바로 슬라이싱(slicing)을 활용하는 것입니다. 이번 글에서는 n개의 요소를 가진 리스트 nums가 주어졌을 때, 슬라이싱 연산만으로 리스트를 역순으로 뒤집는 방법을 알아보겠습니다.문제 정의예를 들어 입력 리스트가 다음과 같다고 가정해 보겠습니다.nums = [5, 7, 6, 4, 6, 9, 3, 6, 2]이때 기대하는 출력 결과는 다음과 같습니다.[2, 6, 3, 9, 6, 4, 6, 7, 5]해결 접근 방식리스트 슬라이싱은 콜론(:)으로 구분되는 최대 세 개의

  7. 파이썬으로 리스트에서 홀수 요소의 합 구하기

    nums라고 하는 n개의 요소를 가진 리스트가 있다고 가정해 보겠습니다. 우리가 해야 할 일은 이 리스트에서 모든 홀수 요소의 합을 구하는 것입니다.예를 들어, 입력이 다음과 같다면:nums = [5,7,6,4,6,9,3,6,2]출력은 24가 됩니다. 그 이유는 홀수인 요소들이 5, 7, 9, 3이며, 5+7+9+3 = 24이기 때문입니다.문제 해결 접근 방식이 문제는 파이썬의 리스트 컴프리헨션(list comprehension)을 활용하면 매우 간결하게 해결할 수 있습니다. 해결 과정은 다음과 같습니다.리스트 컴프리헨션을 사용하여

  8. 파이썬에서 len() 함수 없이 리스트의 길이를 구하는 방법

    리스트 nums가 있다고 가정해 보겠습니다. 이때 len(), size(), length()와 같은 내장 길이 관련 함수를 전혀 사용하지 않고 이 리스트의 길이(요소 개수)를 구해야 합니다.예를 들어 입력이 다음과 같다면,nums = [5, 7, 6, 4, 6, 9, 3, 6, 2]출력은 요소가 총 9개이므로 9가 되어야 합니다.해결 접근 방식이 문제는 map()과 리스트 연산을 조합하면 간단하게 해결할 수 있습니다. 핵심 아이디어는 다음과 같습니다.리스트의 각 요소를 값 그대로 두지 않고 1로 변환합니다.변환된 결과를 모두 더하면

  9. Python으로 리스트의 모든 요소를 절댓값으로 변환하는 방법

    양수와 음수가 섞여 있는 숫자 리스트 nums가 있다고 가정해 봅시다. 이 리스트를 업데이트하여 최종 결과가 각 요소의 절댓값만 담도록 만들어야 합니다.예를 들어, 입력이 nums = [5,-7,-6,4,6,-9,3,-6,-2]라면 출력은 [5, 7, 6, 4, 6, 9, 3, 6, 2]가 됩니다. 즉, 모든 음수 부호가 제거된 값들이 반환됩니다.문제 해결 접근 방식이 문제는 Python의 map() 함수와 람다(lambda) 표현식을 활용하면 매우 간결하게 해결할 수 있습니다. 단계별로 살펴보면 다음과 같습니다.x를 인자로 받아

  10. 파이썬으로 미니언 게임 승자의 이름과 점수 구하기

    문제 개요 두 명의 플레이어 아말(Amal)과 비말(Bimal)이 게임을 하고 있습니다. 게임 규칙은 다음과 같습니다. 두 플레이어는 동일한 문자열 s를 가지고 시작합니다. 각자 문자열 s의 글자들을 사용해 부분 문자열(substring)을 만들어야 합니다. 비말은 반드시 자음으로 시작하는 단어를 만들어야 합니다. 아말은 반드시 모음으로 시작하는 단어를 만들어야 합니다. 게임은 두 플레이어가 만들 수 있는 모든 부분 문자열을 완성하면 종료됩니다. 점수 계산 방식은 다음과 같습니다. 플레이어가 만든 부분 문자열이 원래 문자열 s

  11. 파이썬으로 문자열을 k개의 개별 파티션으로 분할하는 방법

    문자열 s와 값 k가 주어져 있다고 가정해 보겠습니다. 여기서 k는 문자열 길이 n의 약수입니다. 이 경우 문자열 s를 크기가 k인 n/k개의 부분 문자열 t_i로 나눌 수 있습니다.그런 다음 각 t_i를 이용하여 다음 조건을 만족하는 새로운 문자열 u_i를 만들어야 합니다.u_i에 포함된 문자들은 반드시 t_i에 존재하는 문자들이어야 합니다.중복된 문자는 제거되어, u_i 내에서 각 문자의 빈도는 정확히 1이 되어야 합니다.즉, 우리가 찾아야 하는 것은 이러한 u_i 문자열들의 목록입니다.문제 이해하기예를 들어 입력이 s = MM

  12. Python으로 두 타임스탬프의 차이(초 단위) 계산하기

    두 개의 시간이 Day dd Mon yyyy hh:mm:ss +/-xxxx 형식으로 주어졌다고 가정해 보겠습니다. 여기서 Day는 첫 글자가 대문자인 세 자리 요일 이름이고, Mon은 세 자리 월 이름입니다. 마지막의 + 또는 - xxxx는 시간대를 나타내며, 예를 들어 +0530은 GMT보다 5시간 30분 앞선 시간임을 의미합니다(나머지 dd, hh, mm, ss 등의 형식은 표기만 봐도 쉽게 이해할 수 있습니다). 이때 두 타임스탬프 사이의 절대 차이를 초 단위로 구하는 것이 목표입니다. 파이썬에서는 datetime 라이브러리

  13. 파이썬으로 직각삼각형 빗변의 중점과 밑변이 이루는 각도 구하기

    직각삼각형의 두 변 AB와 BC가 주어져 있다고 가정해 보겠습니다. 빗변(AC)의 중점을 M이라 할 때, 우리가 구하고자 하는 것은 M과 밑변 BC 사이의 각도입니다.예를 들어 ab = 6, bc = 4가 입력으로 주어진다면 결과는 56.309932474020215가 됩니다. 그 이유는 ab/bc의 아크탄젠트(arctan) 값이 약 0.9828 라디안인데, 이를 도(degree) 단위로 변환하면 약 56.31도가 되기 때문입니다.풀이 접근 방법이 문제는 삼각함수의 기본 성질만 활용하면 매우 간단하게 해결할 수 있습니다.ans :=

  14. 파이썬에서 라이브러리 없이 e^x를 효율적으로 계산하는 방법

    어떤 수 x가 주어졌을 때, math.exp() 같은 라이브러리 함수를 사용하지 않고 ex(지수 함수)의 값을 효율적으로 계산해야 하는 문제입니다.ex는 다음과 같은 테일러 급수(Taylor Series)로 표현할 수 있습니다.ex = 1 + x + x2/2! + x3/3! + ...예를 들어 입력이 x = 5라면 출력은 148.4131이 됩니다. 실제로 e5 = 1 + 5 + 52/2! + 53/3! + ... = 148.4131... 이기 때문입니다.해결 접근 방식이 문제는 테일러 급수의 각 항을 순서대로 더하는 방식으로 해결할

  15. Python으로 집합 요소 포함 여부를 확인해 행복 지수 계산하기

    문제 설명 서로 다른 n개의 정수로 이루어진 배열 nums와, 공통 원소가 없는 두 개의 집합 A와 B가 주어졌다고 가정해 봅시다. 행복도(happiness) 변수는 처음에 0으로 초기화되며, 배열 nums의 각 정수 i를 하나씩 살펴봅니다. 만약 i가 집합 A에 속한다면 행복도를 1만큼 증가시키고, i가 집합 B에 속한다면 행복도를 1만큼 감소시킵니다. 모든 원소를 확인한 후 최종 행복도 값을 구하는 것이 목표입니다. 예를 들어 입력이 nums = [1,2,5,8,6,3], A = {5,8,9,7,3}, B = {2,4,12,1

  16. 파이썬으로 정의역과 치역이 함수 관계인지 판별하는 방법

    데이터 목록 x(정의역)와 크기가 같은 데이터 목록 y(치역)가 주어졌을 때, x → y가 함수인지 아닌지를 판별해야 합니다. 여기서는 x와 y의 모든 원소가 양수라고 가정합니다.예를 들어 입력이 x = [1, 3, 2, 6, 5], y = [1, 9, 4, 36, 25]라면 출력은 True입니다. 각 x에 대응하는 y 값이 항상 그 제곱값이므로, 하나의 x에 하나의 y만 대응되는 함수 관계이기 때문입니다.접근 방법이 문제는 해시 맵(딕셔너리)을 활용하면 간단하게 해결할 수 있습니다. 핵심 아이디어는 다음과 같습니다.새로운 빈 딕셔

  17. 파이썬으로 다각형의 둘레 구하기: 좌표 기반 둘레 계산 프로그램

    2차원 평면 위에 단순 다각형(simple polygon)의 꼭짓점들이 순서대로 나열된 좌표 리스트가 주어졌을 때, 이 다각형의 둘레(perimeter)를 계산하는 문제를 파이썬으로 해결해 보겠습니다.문제 이해하기예를 들어, 입력이 다음과 같다고 가정해 보겠습니다.points = [(0, 0), (0, 5), (3, 5), (3, 0)]이 네 개의 점은 가로 3, 세로 5인 직사각형을 이룹니다. 따라서 두 변의 길이는 각각 3이고, 나머지 두 변의 길이는 각각 5입니다.둘레 = 2 × 5 + 2 × 3 = 16해결 접근 방법다각형의

  18. Python으로 고유 단어 개수 세기와 빈도 계산하기

    문제 소개단어 목록이 주어졌을 때, 같은 단어가 여러 번 반복해서 나타날 수 있습니다. 이때 각 단어가 몇 번 등장했는지 그 빈도(frequency)를 구하고, 동시에 서로 다른 고유 단어(distinct words)가 총 몇 개인지 세는 프로그램을 만들어 보겠습니다.예를 들어 입력이 다음과 같다고 가정해 봅시다.words = [Book, Sound, Language, Computer, Book, Language]이 경우 출력은 (4, 2 1 2 1)이 됩니다. 고유 단어는 총 4개이고, 첫 번째 단어(Book)와 세 번째 단어(L

  19. Python itertools groupby로 연속된 숫자 쌍(숫자, 개수) 계산하기

    숫자로만 이루어진 문자열 s가 주어졌다고 가정해 봅시다. 문자열 안에는 같은 숫자가 여러 번 반복해서 나타날 수 있습니다. 우리가 구해야 할 것은 각 숫자가 연속적으로 몇 번 나타났는지를 나타내는 (숫자, 개수) 형태의 쌍 목록입니다.이 문제는 Python의 itertools 라이브러리에 포함된 groupby() 함수를 사용하면 아주 깔끔하게 해결할 수 있습니다. groupby()는 인접한 동일한 요소들을 하나의 그룹으로 묶어주는 이터레이터를 반환하며, 각 항목은 (키 값, 그룹 객체) 형태의 튜플로 구성됩니다. 따라서 각 그룹 객

  20. 파이썬으로 다각형 넓이 구하기 – 신발끈 공식(Shoelace Formula) 완벽 가이드

    문제 개요 2차원 평면 위에서 단순 다각형(simple polygon)의 꼭짓점들을 순서대로 나열한 좌표 목록이 주어졌다고 가정해 봅시다. 우리의 목표는 이 다각형의 넓이를 계산하는 것입니다. 예를 들어, 입력이 points = [(0, 0), (0, 5), (3, 5), (3, 0)]과 같다면, 해당 다각형은 가로 3, 세로 5인 직사각형이므로 결과는 15가 됩니다. 해결 접근 방법: 신발끈 공식(Shoelace Formula) 이 문제는 신발끈 공식(Shoelace Formula), 즉 사선 공식을 활용하면 효율적으로 해결할 수

Total 8989 -컴퓨터  FirstPage PreviousPage NextPage LastPage CurrentPage:373/450  20-컴퓨터/Page Goto:1 367 368 369 370 371 372 373 374 375 376 377 378 379