목록전체 글 (36)
이모저모
보호되어 있는 글입니다.
이상치 이상치(outlier): 범위에서 많이 벗어난 아주 작은 값 혹은 큰 값. 데이터의 분포가 정규분포를 따르는 경우 Z-score를 이용해 원하는 범위의 값 만을 가지도록 설정 가능하다. 데이터의 분포가 정규분포를 따르지 않거나 skew한 경우 IQR을 이용하여 이상치를 제거한다. 일반적으로 위의 그림처럼 IQR의 1.5배를 boundary로 하여 이상치를 탐지한다. 파이썬 코드 파이썬 코드를 이용하여 이를 판별하기 위해서는 사분위수를 판별하는 방법을 알아야 한다. numpy의 percentile을 이용하거나 dataframe에 내장되어 있는 함수인 quantile을 이용하여 구할 수 있다. np.percentile(df[column].values, 25) np.percentile(df[column..
1. 나의 풀이 def solution(s): s = s.split(" ") answer = 0 for idx,val in enumerate(s): if val == "Z": answer -= int(s[idx-1]) else: answer += int(val) return answer 2. ":=" 사용(할당 표현식) #1. def solution(s): answer = 0 for i in range(len(s := s.split(" "))): answer += int(s[i]) if s[i] != "Z" else -int(s[i-1]) return answer #2. def solution(s): answer = 0 s = s.split(" ") for i in range(len(s)): answer..
1. 나의 풀이 def solution(n): def prime_num(n): arr = [i for i in range(2,n+1)] for k in range(2,n+1): if n%k == 0: remove_ = [i for i in range(2*k, n+1, k)] arr = [i for i in arr if i not in remove_] return arr answer = [i for i in prime_num(n) if n%i==0] return answer 에라토스테네스의 체를 사용하여 n보다 작은 소수 list를 얻고 이후 소수가 n의 약수인지 판별하는 순서로 문제를 해결하였다. set의 사용이 익숙하지 않아 list comprehension을 이용하여 구했는데 정확하진 않은 것 같아 ..
1. 나의 풀이 def num_factor(number): num_factor = 0 for i in range(1, int(number**(0.5))+1): if number%i==0: num_factor += 1 # 제곱수인지 확인 if int(number**(0.5))**2 == number: num_factor = (num_factor-1)*2 +1 else: num_factor = num_factor*2 return num_factor def solution(number, limit, power): answer = [num_factor(i) for i in range(1,number+1)] answer = [i if i
1. 나의 풀이 solution(a, b): answer = 0 for i in range(len(a)): answer += a[i]*b[i] return answer 2. zip을 이용한 풀이 def solution(a, b): return sum([x*y for x, y in zip(a,b)]) 3. zip zip은 두 개의 리스트를 대응되는 원소쌍으로 묶어줄 때 사용한다. zip의 결과는 zip type의 객체이다. print시 저장된 위치가 나온다. 값을 보려면 list로 변환 후 print를 해야한다. dict(zip())을 활용하면 딕셔너리를 생성할 수 있다. product = ["laptop","tv","smartphone"] price = ["250","500","100"] print(li..
컴퓨터 언어 - 기계언어(이진수로 이루어진 파일): 컴퓨터가 이해하는 언어 - 프로그래밍 언어(high-level 언어): 사람이 이해하는 언어 why c? - 가장 널리 쓰이는 언어 중 하나. - 기반 프로그램에 사용 됨. (90% 이상의 unix가 c로 구성되어 있다) - 컴퓨터 환경을 이해할 수 있음(사용자가 직접 메모리를 할당한다, 언매니지드 특성) - 잘만 쓰면 성능이 제일 좋다. (컴퓨팅 자원을 효율적으로 사용할 수 있다) C vs Python C의 특성 - complied 언어 - 프로그래머가 직접 메모리 관리(unmanaged 특성) - 빠르고 효율적(python 보다 최소 10배에서 100배 정도 빠름) - 변수를 사전에 선언 Python의 특성 - interpreted 언어 - 메모리가..
1. 나의 풀이 # 기존풀이 def solution(numbers, direction): if direction == "right": answer = [numbers[-1]] + numbers[:-1] else: answer = numbers[1:] + [numbers[0]] return answer # del과 insert를 이용한 풀이 def solution(numbers, direction): if direction == "right": numbers.insert(0, numbers[-1]) del numbers[-1] else: numbers.append(numbers[0]) del numbers[0] return numbers 2. del, pop, insert설명 (by chatgpt) 2.1..