전체 글(91)
-
[PYTHON] 행렬의 덧셈 문제
출처 : 프로그래머스 코딩테스트 문제 내 코드 arr1 = [[1,1],[2,2]] arr2 = [[3,3],[4,4]] answer = [[]] for i in range(len(arr1)): for j in range(len(arr1[0])): answer[i][j] = arr1[i][j] + arr2[i][j] 해당 코드는 아래와 같은 에러가 나는데 이유는 answer는 비어있는 리스트 즉, Null 값이기 때문이다. 이렇게 비어있는 리스트에는 인덱싱을 통해 값을 대입할 수 없으므로 append() 함수를 이용해야 한다. def solution(arr1, arr2): answer=[[],[]] for i in range(len(arr1)): for j in range(len(arr1[0])): an..
2023.11.07 -
[PYTHON] 문자열 다루기 기본
[프로그래머스 코딩테스트 문제] 내 코드 def solution(s): list1 = [str(i) for i in range(0,10)] for i in list(s): if i in list1: answer = True else : answer = False break if len(s) != 4 and len(s) !=6 : answer = False return answer 처음엔 for나 while문을 통해 type(int(문자열의 모든 원소)) == type(1) 이 만족하면 True, 틀리면 False를 출력하는 형태의 코드를 작성하려고 했지만, int함수에 정수 형태의 문자열이 입력되지 않으면 에러가 나기에 다른 방법을 생각했다. 우선 리스트에 0~9까지의 정수를 문자열 형태로 저장하고 입력..
2023.11.06 -
[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