전체 글(53)
-
[PYTHON] 문자열 내림차순으로 배치하기
[프로그래머스 코딩테스트 문제] 가장 먼저 생각나는 함수는 sort()함수였다. sort함수를 사용하기 위해 입력된 문자열을 리스트로 바꾸고 그 이후에 sort()함수와 reverse()함수를 사용하면 된다. 하지만 sorted()함수를 사용하면 더 편하다는 것을 알았다. sort()함수는 문자열을 리스트로 변환해줘야 한다는 점과 사용하면 원래 있던 문자열 자체가 수정된다는 점이 있어서 사용이 제한되는 경우가 있다. sorted()함수는 문자열을 바로 리스트 형태로 변환해주고 원래 문자열을 변환시키지 않을때 사용하면 좋다. 또한 두 함수모두 reverse를 인자로 받아 reverse()함수를 사용하지 않고도 내림차순 혹은 오름차순을 설정할 수 있다. def solution(s): answer = '' s..
2023.11.06 -
[PYTHON] 코딩테스트 문제 풀이 - 가운데 글자 가져오기
출처 - 프로그래머스 내 문제풀이 방향 if문과 len()함수를 활용해 문자열 길이가 짝수인 경우와 홀수인 경우로 나누어서 문제를 해결하려고 했다. def solution(s): if len(s) %2 == 0: answer = s[len(s)/2 - 1 :len(s)/2) +1] else : answer = s[(len(s)-1)/2)] return answer 해당 코드를 사용하니 에러가 났다. 인덱싱을 할때 정수 인자를 사용해야한다는 에러였다. 그래서 확인해보니 나누기 연산자를 사용할 경우 정수끼리의 계산이더라도 결과물이 실수형으로 바뀌는 것을 확인할 수 있었다. 이에 int()함수를 활용해 나누기 연산을 한 결과값을 정수형으로 바꿔주니 문제가 해결되었다. def solution(s): if len..
2023.10.26 -
[PYTHON] 편리한 알고리즘 트레이딩, PyQt를 활용한 GUI 프로그래밍 - 2. Qt Designer 기본
실행자는 실제 프로그램에 들어갈 알고리즘이나, 특정한 버튼을 눌렀을 때 특정한 기능을 하는 함수나 메소드 등을 정의할 필요가 있다. 하지만 그러한 인터페이스를 하나하나 일일이 조정하거나 버튼, 위젯 등을 전부 생성하는 것은 비효율적인 일이다. 이런 일들을 쉽게 처리하도록 도와주는 것 Qt Designer이다. Qt Desingner C:\Anaconda3\Library\bin 디렉터리에 designer.exe 파일을 통해 실행할 수 있다. 왼쪽의 위젯에서 끌어와 편리하게 인터페이스를 구성할 수 있고, 오른쪽의 객 탐색기, 속성 편집기 등을 통해 위젯을 수정할 수 있다. Ctrl + R을 누르면 지금까지 작업한 내용을 미리보기 할 수 있다. 이 파일을 저장하면 xml 파일 형태로 저장된다. 이를 파이썬으로..
2023.10.10 -
[PYTHON] 장바구니 데이터 빈발항목 집합 구하기(연관규칙) 실습
import numpy as np import pandas as pd import itertools itertools는 조합, 순열 등을 구하기 용이하게 해주는 라이브러리다. df = pd.read_csv('C:/Users/user/Downloads/marketbasket.csv', encoding='UTF8', header='infer') print(df.shape) print(df.columns) print(df.head()) 데이터를 불러오고 대략적으로 확인해 주자. new_columns = df.columns.str.strip().to_list() df.columns = new_columns 컬럼들의 이름을 strip해준 후에 리스트 형태로 저장하고, 다시 df의 컬럼이름들을 strip해준 값들로..
2023.10.10 -
[PYTHON] 편리한 알고리즘 트레이딩, PyQt를 활용한 GUI 프로그래밍 - 1. 기초편
PyQt는 프로그램을 만들 수 있는 파이썬의 라이브러리이다. GUI프로그램을 만들지 않아도 파이썬을 통해 트레이딩을 할 수 있지만, GUI프로그램이 있다면 훨씬 편리하고 빠르고 직관적인 트레이딩이 가능하다. import sys from PyQt5.QtWidgets import * def clicked_slot(): print('clicked') app = QApplication(sys.argv) btn = QPushButton("Hello, PyQt") btn.clicked.connect(clicked_slot) btn.show() app.exec_() 간단한 코드를 통해 PyQt를 이해할 수 있다. 우선 clicked_slot이라는 함수를 정의한다. 이때 slot이란 프로그램에서 '시그널'이 발 생했을..
2023.10.08 -
[PYTHON] matplotlib을 활용하여 3차원 그래프 그리기
matplotlib 2차원 그래프 그리기 t1 = np.linspace(-2, 2, 10) # x와 y 배열 생성 x = 2 * t1 y = t1**2 + 2 * t1 # 그래프 그리기 plt.figure(figsize=(8, 6)) # 그래프 크기 설정 plt.plot(x, y, marker='o', linestyle='-') # 선 그래프 그리기 plt.xlabel('x') # x축 레이블 설정 plt.ylabel('y') # y축 레이블 설정 plt.show() # 그래프 표시 linspace 함수를 통해 -2부터 2까지 동일간격의 값 10개를 t1에 저장하고, x축과 y축에 해당하는 값을 설정한다. 8*6짜리 figure를 만들고 x축, y축, marker, linestyle을 설정한 plot을 ..
2023.10.06