Coding Test

Coding Test/정리

[python] functools.cmp_to_key(func)

functools — Higher-order functions and operations on callable objects — Python 3.10.2 documentation docs.python.org functools.cmp_to_key(func) Transform an old-style comparison function to a key function. Used with tools that accept key functions (such as sorted(), min(), max(), heapq.nlargest(), heapq.nsmallest(), itertools.groupby()). This function is primarily used as a transition tool for pr..

Coding Test/정리

[python] Dictionary, Counter

Dictionary는 Hash Table로 구성되어 있는데, 이는 상수 시간으로 접근이 가능하다. Counter의 연산. Counter는 Dictionary의 subclass이다. >>> c = Counter(a=3, b=1) >>> d = Counter(a=1, b=2) >>> c + d # add two counters together: c[x] + d[x] Counter({'a': 4, 'b': 3}) >>> c - d # subtract (keeping only positive counts) Counter({'a': 2}) >>> c & d # intersection: min(c[x], d[x]) Counter({'a': 1, 'b': 1}) >>> c | d # union: max(c[x], d..

Coding Test/문제 풀이

[문제 풀이] 큰 수 만들기

코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 해결 과정 처음에는 효율성 안따지고 곧대로 풀었다가 테스트 케이스 3개만 맞는 문제 발생. ㅋㅋ 역시 전체 다 따지는건 아니었다. Greedy에 포함되어 있는 문제이기도 했으니. 예전에 봤던 Greedy 여기서 어떻게 쓰인다는 건지 감이 안와서 풀이 참고했더니 처음엔 띠용했는데 이해해보니 이해 되는 원리 였다. 해결 과정은 다음과 같다. solution(number, k) number의 처음부터 for문을 돌면서 stack에 추가한다. 단, 추가하기 전에는 k가 0보다 커야하고 (숫자를 제외할 기회가 남아있어야 하고) stack이 비어있지 않고, stack의 맨 마지막원소가 현재 보고 있는 숫자보다 작으면 stack에서 제외해야 한다. (..

Coding Test/문제 풀이

[문제 풀이] 체육복

코딩테스트 연습 - 체육복 점심시간에 도둑이 들어, 일부 학생이 체육복을 도난당했습니다. 다행히 여벌 체육복이 있는 학생이 이들에게 체육복을 빌려주려 합니다. 학생들의 번호는 체격 순으로 매겨져 있어, 바로 앞번 programmers.co.kr 해결 과정 소요 시간 1시간 이상 은근 까다로웠던 문제..? 다시 살펴보기 & 다른 풀이 살펴보기 + 22.02.21 까다로운 문제가 아님. 체육복 개수 넣는 배열 만들자 & 앞에서 부터 풀면 Greedy 하다. 이 두 개만 명확했으면 까다롭지 않음. Greedy의 대표적인 문제. 이 문제를 보고 왼쪽에서 오른쪽으로(혹은 그 반대로) 순차 대로 탐색해도 된다는 것을 인지했어야 Greedy로 풀 수 있는 문제였음. 나의 풀이 def solution(n, lost, ..

Coding Test/문제 풀이

[문제 풀이] 순위 검색

m, len(info) -> n이라고 할 때, O(mn)이 나온다. 즉, 매 query를 살필 때 마다 매 info를 살피는건 비효율적인 구조라는 것. 아니 근데 풀이 아이디어.. 기발하네. 애초에 다음과 같은 구조를 생각해내는게 포인트인듯... 다음과 같은 구조를 한 번 만들어두고 매 query를 볼 때마다 이미 만들어진 다음 구조에서 개수 세면 됨. 더보기 위 코드에서 dic을 출력하면 다음과 같다. (예시임) { "javabackendjuniorpizza":[ 150 ], "javabackendjunior-":[ 80, 150 ], "javabackend-pizza":[ 150 ], "javabackend--":[ 80, 150 ], "java-juniorpizza":[ 150 ], "java-ju..

EUNJI HA
'Coding Test' 카테고리의 글 목록 (11 Page)