전체 글

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..

Coding Test/문제 풀이

[문제 풀이] 뉴스 클러스터링

코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브 programmers.co.kr 해결 과정 다중 집합이라는 개념을 녹인 문제. 다음 두 글에 정리가 잘 되어 있다. 지난 번에 문자열 슬라이싱의 경우 index를 넘어도 되는 것을 알고 있었기에 적용해서 풀고, 문자열 함수를 여러 개 리마인드 할 수 있었던 문제였다. .isalpha() .lower() [개념정리] 파이썬 다중 집합의 교집합, 합집합 [python] 합집합, 교집합, 차집합 나의 풀이 import math def solution(str1, str2): an..

Coding Test/문제 풀이

[문제 풀이] 메뉴 리뉴얼

코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 해결 과정 첫 번째 시도는 문제 자체를 이해하지 못하고 풀었다. 두 번째 시도는 테스트케이스 13, 14, 15 번에서 시간초과가 떴다. orders에 대해서 무작정 모든 경우의 수를 구해서 생긴 문제인데, 이 글과 이 글을 참고해서 힌트를 얻었다. 모든 경우의 수를 구할 필요가 없지. 만약 num이 7이라면 orders 중에 7 이상인 대상에 대해서, 각각 가능한 조합을 만들고 더하는 형태로 구현했더니 해결 완료. 나의 풀이 from itertools impor..

Coding Test/문제 풀이

[문제 풀이] 괄호 변환

코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 문제 해결 이 문제는 문제에 나온대로 그대로 코드로 변환하면 되는 문제다. 3가지 테스트 케이스에 대해서 한 번 보고, 문제를 제대로 이해했는지 살펴본 뒤에 코드로 변환했다. 코드로 변환하고 바로 맞았던 문제. 나의 풀이 # 균형잡힌 문자열 추출하는 함수 def balancedString(s): # (()) a = 0 b =0 for index, element in enumerate(s): if element == '(': a += 1 elif element ==..

EUNJI HA
Day by Day