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

Python

  1. 파이썬으로 학생 점수 딕셔너리에서 각 학생의 평균 점수 구하기

    학생들의 점수가 담긴 딕셔너리가 있다고 가정해 보겠습니다. 이때 키(key)는 학생의 이름이고, 값(value)은 여러 개의 숫자로 이루어진 점수 리스트입니다. 우리는 각 학생의 평균 점수를 계산해야 합니다. 예를 들어 입력이 scores = {Amal: [25,36,47,45], Bimal: [85,74,69,47], Tarun: [65,35,87,14], Akash: [74,12,36,75]}와 같다면, 결과는 [38.25, 68.75, 50.25, 49.25]가 됩니다. 즉, 38.25는 Amal의 평균 점수이고, 68.75는

  2. 파이썬에서 원본 리스트를 유지하며 정렬하고 뒤집는 방법

    문제 상황 파이썬에서 숫자로 이루어진 리스트가 있을 때, 이를 뒤집거나 정렬해야 하는 경우가 자주 발생합니다. 다만 여기서 중요한 조건은 원본 리스트는 절대 변경하지 않아야 한다는 점입니다. 리스트 객체에는 기본적으로 reverse() 메서드와 sort() 메서드가 제공되지만, 이들은 리스트를 제자리(in-place)에서 수정하기 때문에 호출하는 순간 원본 데이터가 바뀌어 버립니다. 따라서 원본 순서를 그대로 유지하려면 내장 함수인 reversed()와 sorted()를 사용해야 합니다. 해결 접근 방법 두 내장 함수의 동작 방식

  3. Python에서 튜플의 해시 값을 구하는 방법

    Python 프로그래밍을 하다 보면 튜플(tuple)의 해시(hash) 값이 필요한 경우가 있습니다. 예를 들어, 숫자들이 담긴 튜플이 있을 때 이를 딕셔너리(dictionary)의 키로 사용하려면 해시 값이 반드시 필요합니다. 이번 글에서는 내장 함수인 hash()를 사용해 튜플의 해시 값을 구하는 방법을 알아보겠습니다.hash() 함수란?hash()는 Python에 기본으로 내장된 함수로, 정수(int), 실수(float), 문자열(string), 튜플(tuple)처럼 변경 불가능한(immutable) 자료형에 대해 고유한 해시

  4. 파이썬으로 영어 문자열의 대소문자를 서로 바꾸는 방법

    영어 알파벳으로 이루어진 문자열이 주어졌을 때, 각 글자의 대소문자를 서로 반전시켜야 하는 경우가 있습니다. 즉, 대문자는 소문자로, 소문자는 대문자로 변환하는 것이죠.문제 이해하기예를 들어 입력 문자열이 s = PrograMMinG라면, 출력 결과는 pROGRAmmINg이 됩니다. 원래 대문자였던 P, M, M, G는 소문자로 바뀌고, 나머지 소문자들은 모두 대문자로 변환됩니다.해결 접근 방법이 문제는 다음과 같은 단계로 해결할 수 있습니다.빈 문자열 ret을 초기화합니다.입력 문자열 s의 각 글자를 하나씩 순회합니다.현재 글자가

  5. 파이썬으로 문자열을 분할하고 쉼표로 결합하는 프로그램

    개요공백으로 구분된 여러 개의 단어가 담긴 문자열이 있다고 가정해 봅시다. 이 단어들을 분할하여 리스트로 만든 뒤, 각 단어 사이에 쉼표를 삽입해 하나의 문자열로 다시 결합하는 방법을 알아보겠습니다.예를 들어 입력이 s = Programming Python Language Easy Funny라면, 출력 결과는 Programming, Python, Language, Easy, Funny가 됩니다.해결 접근 방법이 문제는 다음 단계를 따라 해결할 수 있습니다.분할(Split): split() 함수를 사용해 문자열 s를 공백( )을 기준

  6. 파이썬으로 콘솔 입력 읽기 – input()과 format() 활용법

    이름(firstname)과 성(lastname)을 콘솔에서 입력받아 Hello <firstname> <lastname>, you are welcome!와 같은 인사말을 출력하는 프로그램을 만들어 보겠습니다. 이 문제는 파이썬의 format() 메서드를 사용하면 간단하게 해결할 수 있습니다.format() 메서드는 문자열 안에 중괄호 {}를 플레이스홀더로 삽입한 뒤, 함수에 전달된 인자들이 순서대로 해당 자리에 치환되는 방식으로 동작합니다. 예를 들어 입력이 Ashish Dutta라면 최종 출력은 Hello As

  7. 파이썬(Python)에서 인덱스를 이용해 문자열의 특정 문자 변경하기

    문제 상황문자열 s, 인덱스 i, 문자 c가 주어졌을 때, s의 i번째 문자를 c로 교체하는 프로그램을 작성해야 한다고 가정해 보겠습니다.그런데 파이썬에서 문자열은 불변(immutable) 자료형입니다. 따라서 s[i] = c처럼 인덱스로 직접 값을 할당하려 하면 아래와 같은 오류가 발생합니다.[TypeError: str object does not support item assignment]예를 들어 입력이 s = python, i = 3, c = P라면, 기대되는 출력은 pytPon입니다.해결 방법문자열을 슬라이싱하여 두 부분으

  8. 주어진 조건에서 지시 확률변수(Indicator Random Variable)의 함수를 계산하는 Python 프로그램

    두 개의 값 k와 n이 주어져 있다고 가정해 보겠습니다. 자연수 1, 2, ..., n에 대한 임의의 순열 p1, p2, ..., pn을 하나 생각하고, 다음과 같이 정의되는 값 F를 계산하려고 합니다. F = (X2 + X3 + ... + Xn-1)k 여기서 Xi는 지시 확률변수(indicator random variable)로, 다음 두 조건 중 하나를 만족할 때만 1의 값을 가집니다. pi-1 < pi > pi+1 → pi가 양쪽 이웃보다 큰 경우(국소 최댓값) pi-1 > pi < pi+1 → pi가

  9. 파이썬으로 문자열 안에 포함된 부분 문자열 개수 구하기

    문자열 s와 부분 문자열 t가 주어졌을 때, t가 s 안에 몇 번 등장하는지 세는 문제입니다.예를 들어 s = abaabcaabababaab, t = aab라고 하면 결과는 3이 됩니다. ab(aab)c(aab)abab(aab)처럼 aab가 세 위치에서 발견되기 때문입니다.해결 접근 방법슬라이싱과 반복문을 활용하면 간단하게 해결할 수 있습니다. 알고리즘은 다음과 같습니다.카운터 변수 cnt를 0으로 초기화합니다.인덱스 0부터 (len(s) - len(t))까지 반복합니다.각 인덱스 i에서 s[i : i + len(t)]로 추출한 부

  10. 파이썬으로 문자열에 숫자·소문자·대문자가 모두 포함되어 있는지 확인하는 방법

    문제 개요하나의 문자열 s가 주어졌을 때, 이 문자열이 다음 세 가지 요소를 모두 포함하고 있는지 확인해야 합니다.숫자소문자대문자참고: 그 외의 다른 기호나 특수 문자가 섞여 있어도 상관없지만, 위 세 가지 유형은 반드시 존재해야 합니다.예를 들어 입력이 s = p25KDs라면 소문자(p), 숫자(25), 대문자(KD)가 모두 포함되어 있으므로 출력은 True가 됩니다.해결 접근 방법이 문제는 불리언(Boolean) 배열을 활용해 다음과 같은 단계로 해결할 수 있습니다.크기가 3인 배열(arr)을 만들고 False로 초기화합니다.문

  11. 파이썬(Python)으로 2n-1줄 다이아몬드 패턴 출력하기

    숫자 n이 주어지면, 별표(*)를 사용해 총 2n-1줄로 구성된 다이아몬드(마름모) 패턴을 그려야 합니다. 위쪽 절반인 1번째 줄부터 n번째 줄까지는 별표가 1개에서 n개까지 한 줄에 하나씩 늘어나고, 아래쪽 절반에서는 다시 n-1개부터 1개까지 줄어들며 완벽한 대칭을 이룹니다.예를 들어 n = 5가 입력되면 출력 결과는 다음과 같습니다. * * * * * * * * * * * * * * * * * * * * * * * * *문제 해결 접근 방식이 문제는 파이썬 문자열의 center() 메서드를 활

  12. 파이썬(Python)으로 너비 w에 맞춰 텍스트를 단락으로 감싸는 방법

    개요문자열 s와 너비 w가 주어졌을 때, 이 텍스트를 지정된 너비 w를 가진 단락 형태로 줄바꿈(래핑)해야 하는 경우가 있습니다. 이런 작업은 파이썬의 textwrap 라이브러리에 포함된 fill() 함수를 사용하면 아주 간단하게 처리할 수 있습니다. 따라서 가장 먼저 textwrap 라이브러리를 임포트해야 합니다.예를 들어 입력이 다음과 같다고 가정해 보겠습니다.s = The quick brown fox jumps over the lazy dogw = 9이 경우 출력 결과는 다음과 같습니다.The quickbrown foxjump

  13. 파이썬으로 'WELCOME' 문구가 들어간 디자인 도어매트 패턴 출력하기

    두 개의 숫자 n과 m이 주어졌을 때(m은 n의 배수), 정중앙에 WELCOME이라는 단어가 들어간 도어매트 패턴을 출력하는 프로그램을 만들어 보겠습니다. 매트의 크기는 n × m이며, 점(.), 하이픈(-), 파이프(|) 기호와 중앙의 텍스트만을 사용해 패턴을 구성해야 합니다. 예를 들어 입력이 n = 5, m = 15라면 출력 결과는 다음과 같습니다. ------.|.------ ---.|..|..|.--- ----WELCOME---- ---.|..|..|.--- ------.|.------ 문제 해결 접근 방식 이 문제는 패턴

  14. 파이썬으로 1부터 n까지 숫자의 10진수·8진수·16진수·2진수 값 출력하기

    값 n이 주어졌을 때, 1부터 n까지 각 숫자에 대해 10진수(Decimal), 8진수(Octal), 16진수(Hexadecimal), 2진수(Binary) 값을 네 개의 열로 나누어 출력하는 프로그램을 만들어 보겠습니다.파이썬에서는 문자열 포매팅 시 접두사 d(10진수), o(8진수), X(16진수), b(2진수)를 활용하면 손쉽게 각 진법의 표현을 얻을 수 있습니다.예시예를 들어 n = 10이 입력되면 다음과 같은 결과가 출력됩니다.1    1    1    1 2  

  15. 파이썬으로 알파벳 란골리(Rangoli) 패턴 출력하는 프로그램 만들기

    알파벳 란골리 패턴이란?란골리(Rangoli)는 인도의 전통 바닥 장식 예술로, 대칭적인 아름다운 패턴이 특징입니다. 프로그래밍에서도 이러한 대칭 패턴을 콘솔에 출력하는 문제가 자주 등장합니다.숫자 n이 주어졌을 때, n x n 크기의 알파벳 란골리 패턴을 생성해야 합니다. 이때 n은 반드시 1 이상 26 이하의 값이어야 하며, n이 26일 경우 a로 시작해서 z로 끝나는 전체 알파벳 패턴이 완성됩니다.입력과 출력 예시예를 들어 입력값이 5라면 다음과 같은 출력 결과를 얻습니다.--------e-------- ------e-d-e-

  16. 파이썬으로 각 단어의 첫 글자만 대문자로 변환하는 프로그램

    영어 소문자로 이루어진 문장이 주어졌을 때, 각 단어의 첫 글자만 대문자로 바꾸는 문제를 파이썬으로 해결해 보겠습니다.예를 들어 입력이 s = i love my country라면, 출력은 I Love My Country가 되어야 합니다.문제 해결 접근 방식이 문제는 다음 단계를 따라 해결할 수 있습니다.문장 s를 공백 기준으로 분리하여 단어 리스트를 만듭니다.결과를 저장할 빈 리스트를 하나 생성합니다.각 단어에 대해 capitalize() 함수를 사용해 첫 글자를 대문자로 변환한 뒤 결과 리스트에 추가합니다.결과 리스트의 모든 단어

  17. 파이썬으로 두 리스트의 데카르트 곱(Cartesian Product) 구하는 방법

    두 개의 데이터 리스트 l1과 l2가 있을 때, 이 두 리스트의 데카르트 곱(Cartesian Product)을 구해야 하는 경우가 있습니다. 데카르트 곱이란 두 집합의 모든 원소들을 순서쌍으로 조합한 것으로, 예를 들어 두 리스트가 각각 (a, b)와 (c, d)라면 데카르트 곱은 {(a, c), (a, d), (b, c), (b, d)}가 됩니다.itertools.product() 함수 활용하기파이썬에서는 표준 라이브러리인 itertools에 포함된 product() 함수를 사용하면 데카르트 곱을 손쉽게 계산할 수 있습니다. 이

  18. 파이썬으로 신발 가게 매출 계산하기: 고객 수요 기반 총 수익 구현 방법

    한 신발 가게에 서로 다른 사이즈의 신발 n개가 배열 size에 담겨 있고, m명의 고객에 대한 수요 목록 demand가 주어진다고 가정해 봅시다. demand[i]는 (신발_사이즈, 지불_금액) 형태의 튜플로, i번째 고객은 해당 사이즈의 신발을 원하며 명시된 금액을 지불할 의사가 있습니다. 이때 우리가 구해야 할 것은 가게 주인이 신발을 판매하여 벌 수 있는 총 금액입니다.문제 예시입력이 다음과 같다고 해보겠습니다.shoes = [2,3,4,5,6,8,7,6,5,18]demand = [(6,55), (6,45), (6,55),

  19. PHP mb_list_encodings() 함수 – 지원되는 모든 인코딩을 배열로 반환하는 방법

    PHP의 mb_list_encodings() 함수는 멀티바이트 확장(mbstring)에서 현재 지원하는 모든 문자 인코딩의 목록을 배열 형태로 반환합니다. 이 함수는 PHP 5 이상 버전에서 사용할 수 있으며, 별도의 매개변수 없이 호출만 하면 됩니다.구문 (Syntax)array mb_list_encodings()매개변수 (Parameters)mb_list_encodings() 함수는 어떠한 매개변수도 받지 않습니다.반환 값 (Return Values)이 함수는 지원되는 모든 인코딩 이름이 담긴 숫자 인덱스 배열(numerical

  20. Python으로 문자열에서 길이 r의 모든 순열 구하기

    문제 개요문자열 s와 정수 r이 주어졌을 때, 문자열 s에서 r개의 문자를 선택해 만들 수 있는 모든 순열(permutation)을 출력하는 프로그램을 작성해야 합니다.파이썬에서는 표준 라이브러리인 itertools 모듈에 포함된 permutations() 함수를 사용하면 이 작업을 아주 간단하게 처리할 수 있습니다. 이 함수는 반복 가능한 객체와 길이 r을 인자로 받아, 해당 길이의 모든 순열을 튜플(tuple) 형태로 차례대로 반환합니다.예를 들어 입력이 s = HELLO, r = 3이라면 출력은 다음과 같습니다.[HEL, HE

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