본문 바로가기

전체 글102

[完][OSSCA Redis] Redis 오픈소스 컨트리뷰션 조금 늦은 오픈소스 컨트리뷰션 아카데미 후기이다. 근 8주간의 Redis 오픈소스 컨트리뷰션을 마쳤다. 평소에 이해가 안되는 오픈소스 DBMS 뒤적거리면서 어떤식으로 굴러가는지 막연하게 파악하고 있었는데 운좋게도 체험형 오픈소스 컨트리뷰션을 통해 오픈소스에 대한 라이프 사이클에 이해를 할 수 있게 되었다. 특히, 입력한 값을 그대로 돌려주는 'echo' 의 단순한 기능추가를 위해 신경써야 하는 부분이 한 두개가 아니여서 인상깊었다. 그리고 zadd zset등 학습한 걸 바탕으로 NestJS에서 랭킹데이터를 추가해서 구현하는 과정이 나름 순탄했었다. 다만, 체험형이여서 기간이 짧은것이 조금 아쉬웠다. 다음엔 마스터스 지원해서 진득하게 파보고싶다. 2024. 1. 31.
[Programmers / Level2] 캐시 https://school.programmers.co.kr/learn/courses/30/lessons/17680 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(cacheSize, cities): if cacheSize == 0: return len(cities) * 5 cache = [] time = 0 for city in cities: city = city.lower() if city in cache: cache.remove(city) cache.append(city) time += 1 else: time += 5 if len.. 2024. 1. 30.
[Programmers / Level2] 의상 코딩테스트 연습 - 의상 | 프로그래머스 스쿨 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(clothes): cloth = {} for stuff, wear in clothes: if wear in cloth: cloth[wear] += 1 else: cloth[wear] = 1 result = 1 for count in cloth.values(): result *= (count + 1) return result - 1 해시를 이용한 조합문제이다. 조합을 구하는 센스가 필요했다. Counter 클래스 또는 for문을 통해 일단 딕.. 2024. 1. 29.
[Programmers / Level2] 행렬의 곱셈 코딩테스트 연습 - 행렬의 곱셈 | 프로그래머스 스쿨 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr def solution(arr1, arr2): # 결과 행렬의 크기를 arr1의 행 수와 arr2의 열 수로 설정 result = [[0] * len(arr2[0]) for _ in range(len(arr1))] # 행렬 곱셈 수행 for i in range(len(arr1)): for j in range(len(arr2[0])): for k in range(len(arr1[0])): result[i][j] += arr1[i][k] * arr2[k][j].. 2024. 1. 28.
[Programmers / Level2] 할인 행사 https://school.programmers.co.kr/learn/courses/30/lessons/131127 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from collections import Counter def solution(want, number, discount): result = 0 goods, sum_num = {}, sum(number) for product, cnt in zip(want, number): goods[product] = cnt counter_goods = Counter(goods) for i in range(le.. 2024. 1. 27.
[Programmers / Level2] n^2 배열 자르기 https://school.programmers.co.kr/learn/courses/30/lessons/87390 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr from itertools import chain def solution(n, left, right): list_n = [[0] * n for _ in range(n)] for i in range(n): for j in range(n): list_n[i][j] = max(i, j) + 1 return (list(chain.from_iterable(list_n))[left:right+1]) -> 시.. 2024. 1. 26.
반응형