전체보기
-
파이썬 날코딩: 최소제곱법(method of least squares)ML 2023. 1. 21. 20:38
모두의 딥러닝을 읽고 있습니다. 책의 내용을 numpy를 쓰지 않고 코딩해 보았습니다. # 최소제곱법 x = [2, 4, 6, 8] y = [81, 93, 91, 97] mean_x = sum(x) / len(x) mean_y = sum(y) / len(y) print(f'x의 평균: {mean_x}') print(f'y의 평균: {mean_y}') dividend = sum((each_x - mean_x) * (each_y - mean_y) for each_x, each_y in zip(x, y)) divisor = sum((each_x - mean_x) ** 2 for each_x in x) print(f'분자: {dividend}') print(f'분모: {divisor}') a = dividend..
-
인사고과코딩 테스트/Level 3 2023. 1. 20. 15:15
https://school.programmers.co.kr/learn/courses/30/lessons/152995 def solution(scores): wh_sum = sum(scores[0]) max_s1 = answer = 0 for s in sorted(scores, key=lambda x: (-x[0], x[1])): if max_s1 wh_sum: answer += 1 elif s == scores[0]: return -1 return answer + 1 테스트 1 〉통과 (0.00ms, 10.2MB) 테스트 2 〉통과 (0.01ms, 10.2MB) 테스트 3 〉통과 (0.01ms, 10.2MB) 테스트 4 〉통과 (0.01ms, 10.1MB) 테스트 5 〉통과 (0.01ms, 10.1MB)..
-
시소 짝꿍코딩 테스트/Level 2 2023. 1. 19. 21:50
https://school.programmers.co.kr/learn/courses/30/lessons/152996 생각의 흐름을 따라... from itertools import product, combinations def solution(weights): answer = 0 for w1, w2 in combinations(weights, 2): for seat1, seat2 in product((2, 3, 4), repeat=2): if w1 * seat1 == w2 * seat2: answer += 1 break return answer 시간초과~! 레벨 2도 어렵다. 테스트 1 〉통과 (0.01ms, 10.2MB) 테스트 2 〉통과 (0.02ms, 10.2MB) 테스트 3 〉통과 (0.04ms,..
-
새로운 데이터 타입으로 변환Python/Pandas 2023. 1. 18. 07:23
df.convert_dtypes() https://pandas.pydata.org/docs/reference/api/pandas.DataFrame.convert_dtypes.html 1.0 버전에 추가됨. 공식 문서의 예를 살펴보자. >>> df = pd.DataFrame( ... { ... "a": pd.Series([1, 2, 3], dtype=np.dtype("int32")), ... "b": pd.Series(["x", "y", "z"], dtype=np.dtype("O")), ... "c": pd.Series([True, False, np.nan], dtype=np.dtype("O")), ... "d": pd.Series(["h", "i", np.nan], dtype=np.dtype("O")),..
-
합성수 찾기코딩 테스트/Level 0 2023. 1. 9. 06:51
https://school.programmers.co.kr/learn/courses/30/lessons/120846 파이썬 에라토스테네스의 체 def solution(n): primes = [True for _ in range(n + 1)] primes[0] = primes[1] = False for num in range(2, n): if primes[num]: for each in range(num * 2, n + 1, num): primes[each] = False return n - sum(primes) - 1 '에라토스테네스의 체'를 쓰지 않고... def solution(n): answer = 0 for i in range(1, n + 1): counter = 0 for j in range(1..
-
2023 KAKAO BLIND RECRUITMENT - 표 병합코딩 테스트/Level 3 2023. 1. 8. 20:03
https://school.programmers.co.kr/learn/courses/30/lessons/150366 단순하게 리스트로 머지 상태를 관리했다. def solution(commands): def rc2index(r, c): return (int(r) - 1) * 50 + int(c) - 1 def update(p, s): old_state = states[p] for index in range(length): if states[index] == old_state: table[index] = s def replace(s1, s2): for index in range(length): if table[index] == s1: table[index] = s2 def merge(p1, p2): cha..
-
2023 KAKAO BLIND RECRUITMENT - 표현 가능한 이진트리코딩 테스트/Level 3 2023. 1. 8. 01:57
https://school.programmers.co.kr/learn/courses/30/lessons/150367 포화 이진 트리: 트리내 요소의 개수 = 2 ** n - 1 '0' 노드의 아래 노드는 모두 '0'이어야 한다. def solution(numbers): def is_tree(s, parent): if parent == '0' and not all(child == '0' for child in s): return False if len(s) == 1: return True return is_tree(s[:(center := len(s) // 2)], s[center]) and is_tree(s[center + 1:], s[center]) def to_bin(num): s = bin(num)..