프로그래머스 | 최빈값 구하기 [파이썬 Python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 def solution(array): count = [0] * (max(array)+1) # 숫자 출연 횟수를 셀 리스트 for i in array: count[i] += 1 m = 0 # 최빈값의 개수 for c in count: if c == max(count): m += 1 if m > 1: # 최빈값이 2개 이상이면 -1을 리턴 return -1 else: # 최빈값이 1개이면 해당 숫자를 리턴 return count.index(max(count)) 주어진 배열에서 최빈값을 찾는 문제이다. 최빈값..
프로그래머스 | 분수의 덧셈 [파이썬 Python]
·
Algorithm/프로그래머스
프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 import math def solution(numer1, denom1, numer2, denom2): b = denom1 * denom2 a = (numer1 * denom2) + (numer2 * denom1) gcd=math.gcd(a,b) a = a // gcd b = b // gcd answer = [a, b] return answer $\frac{numer1}{denom1}$, $\frac{numer2}{denom2}$ 의 합을 기약분수로 나타내는 문제이다. 처음에는 denom1과 denom2..
pandas | Series와 Dataframe에서 Broadcasting
·
TIL/python
다음과 같은 dataframe과 series가 있다. 이 예시는 dataframe의 columns와 Series의 index가 a, b, c, d로 같은 경우이다. df=DataFrame(np.arange(16).reshape(4,4), columns=list('abcd')) df s=Series(range(10,14),index=list('abcd')) s 이때, df와 s를 + 연산을 사용한 결과는 다음과 같다. Dataframe의 column에 해당하는 Series의 index를 가지는 값을 해당 column에 더한다. 즉, s에서 인덱스 a에 해당하는 값인 10을 df의 a열에 한 번에 더한다. 한 번에 더하는 이 과정을 브로드 캐스팅(broadcasting)이라 한다. + 대신 add 메소드를 ..
python | sympy 설치 및 사용
·
TIL/python
sympy 설치 방정식을 풀 수 있는 라이브러리인 sympy는 python 내장 라이브러리가 아니기 때문에 따로 설치해주어야 한다. pip install sympy Anaconda Prompt에서 설치하는 과정을 보면 다음과 같다. 나의 경우에는 가상환경으로 이동(activate ml)하여 라이브러리를 설치해주었다. sympy 활용 sympy를 활용하여 아래 2차 방정식을 x에 대해 미분해보았다. $x^2 + 2x + 3$ import sympy as sym #1 from sympy.abc import x #2 sym.diff(sym.poly(x**2 + 2*x + 3), x) #3 #1) sympy 라이브러리를 불러온다. sym 이름으로 사용한다. #2) sympy.abc는 쉽게 말해 a부터 z까지의 ..
python | list에서 remove 사용 시 주의할 점
·
TIL/python
다음과 같은 리스트가 있다. num_list=[15,16,22,28] 홀수인 15만을 남기기 위해 짝수를 제거하는 코드를 작성했고, 결과는 다음과 같았다. 22는 짝수인데 왜 지워지지 않고 남아있는 거지? 그 이유는 다음과 같다. for문에서 num_list의 원본을 그대로 사용하기 때문에 remove를 진행하면서 원본에 손상이 가고 있었다. remove의 과정을 살펴보기 위해 print를 사용하여 남은 숫자와 지워진 숫자를 살펴보았다. 0번 인덱스에 위치한 15는 홀수이기 때문에 if문 조건에 부합하지 않아 남아있게 된다. 1번 인덱스에 위치한 16은 짝수이기 때문에 if문 조건에 부합하기 때문에 삭제되어 num_list는 [15,22,28]이 된다. for 문에서 처음에 선언한 num_list를 그대..
[구름 알고리즘 먼데이 챌린지] 4주차 | 문제1 체크카드 | 파이썬
·
Algorithm/구름 알고리즘 먼데이 챌린지
문제가 점점 어려워진다. 별 3개가 되는 순간부터 박대가리인 나는 너무 힘들다. 앞으로는 모르는 문제에 대해 이해한 대로 풀이를 쓰는 것 보단 해결한 문제에 대해서 풀이를 쓰려고 한다. 모르는 문제를 붙잡고 있어봤자 제대로 이해도 못하면서 풀이를 쓰는 것이 무슨 의미가 있을까 싶다. 아는 것부터 확실하게 체화해야 겠다. 4주차 | 문제 1. 체크카드 문제 체크 카드를 사용할 때, 가장 중요한 것은 계좌의 남아있는 잔액에 따라서 결제가 잔액이 부족한 경우가 생기기도 한다는 점이다. 구름이는 올바른 소비 습관을 만들기 위해서 지난달 구름이가 카드를 통해서 얼마를 입금하고 결제하였는지 확인하려고 한다. 구름이가 쓰는 체크 카드는 deposit, pay, reservation의 세 가지 기능을 가지고 있다. d..