파이썬 13

SilverⅤ) 1251번. 단어 나누기 (미완료)

문제 알파벳 소문자로 이루어진 단어를 가지고 아래와 같은 과정을 해 보려고 한다. 먼저 단어에서 임의의 두 부분을 골라서 단어를 쪼갠다. 즉, 주어진 단어를 세 개의 더 작은 단어로 나누는 것이다. 각각은 적어도 길이가 1 이상인 단어여야 한다. 이제 이렇게 나눈 세 개의 작은 단어들을 앞뒤를 뒤집고, 이를 다시 원래의 순서대로 합친다. 예를 들어, 단어 : arrested 세 단어로 나누기 : ar / rest / ed 각각 뒤집기 : ra / tser / de 합치기 : ratserde 단어가 주어지면, 이렇게 만들 수 있는 단어 중에서 사전순으로 가장 앞서는 단어를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 영어 소문자로 된 단어가 주어진다. 길이는 3 이상 50 이하이다. 출력 첫째 줄에 구..

알고리즘/백준 2023.04.08

BronzeⅠ. 1157번 단어 공부

문제 알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다. 입력 첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다. 출력 첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다. 예제 소스코드 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 word = input().lower() count = dict() for letter in word: count[letter] = count.get(letter, 0) + 1 ..

알고리즘/백준 2023.04.08

Numpy 보충학습_데이터 생성함수, 난수기반 배열생성

1. 데이터 생성 함수 - Numpy 는 주어진 조건으로 데이터를 생성한 후 배열을 만드는 데이터 생성 함수를 제공한다. 1) linspace() - start "이상" stop "이하" 범위에서 num 개를 균일한 간격으로 데이터를 생성하고 배열을 만드는 함수이다. - 요소 개수를 기준으로 균등 간격의 배열을 생성한다. - 형식 : linspace(start, stop, num) 1 2 3 4 import numpy as np print(np.linspace(0,1,5)) print(np.linspace(2,3,2)) cs 2) logspace() - 로그 스케일의 linspace - 로그 스케일로 지정된 범위에서 num 개수 만큼 균등 간격으로 데이터를 생성한 후 배열을 만든다. - 형식 : logs..

카테고리 없음 2022.09.04

Numpy 03_ 배열 재형성, indexing, 배열 복사, 배열 데이터 다루기

1. Numpy 배열 재형성 1) reshape - 배열의 shape(크기) 를 변경한다. - Numpy에서 배열의 차원을 재구조화, 변경하고자 할 때 사용한다. - 요소의 개수는 동일해야 한다. 1 2 3 4 5 6 7 8 9 10 11 12 import numpy as np t_array = np.arange(1,9) print("t_array 출력") print(t_array) print("\nt_array의 shape 출력") print(t_array.shape) print("\n2by4로 재배열하기") a = t_array.reshape(2,4) print(a.shape) cs 이때, reshape의 첫번째 인자에 -1을 넣으면 요소의 개수와 열의 개수에 따라 행이 자동으로 정해진다. 예를 들어..

Python/Numpy 2022.09.04

Numpy 02_ 축, Numpy 연산, Broadcasting

1. Axis (축) - Numpy에서 중요한 축의 개념 - 연산이나 array를 조작할 때 axis 축 기준으로 이루어진다. 1D array ex) (4,) : axis = 0 2D array ex) (3,4) : axis = 0, axis = 1 3D array ex) (3,3,4) : axis = 0, axis = 1, axis = 2 2. Numpy 연산 1) 집계함수 - sum : 총합 - min : 최소값 - max : 최대값 1 2 3 4 5 6 7 8 9 10 11 t_array = np.arange(1,13).reshape(3,4) print(t_array) print('\n총합 구하기') print(np.sum(t_array)) print('\n최소값 구하기') print(np.min(..

카테고리 없음 2022.08.30

Numpy 01 _ (numpy 생성, ndarray 자료형)

Numpy 란? - Numerical Python 의 약자로 대규모 다차원 배열과 행렬 연산을 지원해주는 파이썬의 라이브러리 - 데이터 분석을 할 때 사용되는 여러 라이브러리의 기반이 되는 라이브러리 - 기본적으로 array라는 단위로 데이터를 관리한다. Numpy ndarray - Numpy의 핵심 기능 중 하나로 N차원의 배열 객체를 뜻한다. - 파이썬에서 사용할 수 있는 대규모 데이터 집합을 담을 수 있는 빠르고 유연한 자료 구조 shape - Numpy 배열 구조를 shape를 통해 표현한다. - shape는 배열의 구조를 튜플 자료형을 이용하여 보여준다. - .shape 멤버 변수를 통해 해당 array의 크기를 즉각적으로 확인할 수 있다. 1. Numpy 생성 1) Numpy 불러오기 1 2 ..

Python/Numpy 2022.08.25

<인프런_파이썬 기본편> 자료구조 - 리스트(index, append, insert, pop, sort, reverse, clear, extend )

# 리스트 [] 만들기 예를 들어, 지하철 칸별로 10명, 20명, 30명 을 표현하기 위해서 subway1 = 10, subway2 = 20, subway3 = 30 라고 표현할 수 있다. 이 경우에는, 리스트를 활용해서 표현하는 것이 더 효율적이다. subway = [10, 20, 30] print(subway) subway = ["유재석", "조세호"] print(subway) [10, 20, 30] ['유재석', '조세호'] # 리스트의 index 출력하기 ( (리스트명).index() ) ex) print(subway.index("조세호")) 1 # 리스트에 원소 추가하기 ( (리스트명).append() ) ex) subway.append("하하") print(subway) ['유재석', '조세..

<인프런 나도코딩 기본편> 문자열 처리 - 탈출문자(\n, \r, \b, \t)

# 문자열 안에 " " (큰 따옴표), ' ' (작은 따옴표) 출력하기 ex) 저는 "나도코딩"입니다. 를 출력하기 print("저는 '나도코딩'입니다.") print('저는 "나도코딩"입니다.') print("저는 \"나도코딩\"입니다.") print("저는 \'나도코딩\'입니다.") 저는 '나도코딩'입니다. 저는 "나도코딩"입니다. 저는 "나도코딩"입니다. 저는 '나도코딩'입니다. # \\ : 문장 내에서 \ 을 출력하기 위해 사용 ex) print("C:\\Users\\Nadocoding\\") C:\Users\Nadocoding\ # \n :줄바꿈 # \r : 커서를 맨 앞으로 이동 # \b : 백스페이스 (한 글자 삭제) # \t : 탭 ex) print("백문이 불여일견\n백견이 불여일타") ..

<인프런 나도코딩 기본편> 문자열 처리 - 문자열 포맷

방법 1 ) % 이용 ex) print("나는 %d살입니다." %20) print("나는 %s을 좋아해요." % "파이썬") print("Apple 은 %c로 시작해요." % "A") print("나는 %s살입니다." %20) print("나는 %s색과 %s색을 좋아해요." % ("파란", "빨간")) 나는 20살입니다. 나는 파이썬을 좋아해요. Apple 은 A로 시작해요. 나는 20살입니다. 나는 파란색과 빨간색을 좋아해요. 방법 2 ) format 사용 ex) print("나는 {}살입니다.".format(20)) print("나는 {}색과 {}색을 좋아해요.".format("파란", "빨간")) print("나는 {0}색과 {1}색을 좋아해요.".format("파란", "빨간")) print("나..

<인프런 나도코딩 기본편> 문자열 처리- 문자열처리함수(lower, upper, .isupper, index, find, replace, count)

문자열처리함수에 대해 알아보자. 문자열.lower() : 문자열의 모든 문자를 소문자로 바꿔준다. 문자열.upper() : 문자열의 모든 문자를 대문자로 바꿔준다. 문자열[인덱스].isupper() : 문자열의 [인덱스] 번째 문자가 대문자인지를 확인한다. 문자열[인덱스].islower() : 문자열의 [인덱스] 번째 문자가 소문자인지를 확인한다. len(문자열) : 문자열의 전체 길이를 반환한다. 문자열.index( " " ) : 문자열에서 " " 안의 문자가 몇번째 인덱스에 위치해 있는지 출력한다 문자열.index( " " , index + 1 ) : index + 1 은 start 위치를 의미한다. 따라서 문자열에서 두번째로 " " 안의 문자가 등장한 인덱스 위치를 반환한다. 문자열.find( " ..