목록코딩테스트 (19)
코딩
programmers.co.kr/learn/courses/30/lessons/12971 코딩테스트 연습 - 스티커 모으기(2) N개의 스티커가 원형으로 연결되어 있습니다. 다음 그림은 N = 8인 경우의 예시입니다. 원형으로 연결된 스티커에서 몇 장의 스티커를 뜯어내어 뜯어낸 스티커에 적힌 숫자의 합이 최대가 되도록 programmers.co.kr programmers.co.kr/learn/courses/30/lessons/42897 코딩테스트 연습 - 도둑질 도둑이 어느 마을을 털 계획을 하고 있습니다. 이 마을의 모든 집들은 아래 그림과 같이 동그랗게 배치되어 있습니다. 각 집들은 서로 인접한 집들과 방범장치가 연결되어 있기 때문에 인접한 programmers.co.kr def solution(sti..
from bisect import bisect_right, bisect_left lst= [1, 4, 6, 10] print(bisect_left(lst, 6)) # result = 2 print(bisect_right(lst , 6)) # result = 3 1. 해당 값이 리스트에 있을 때 bisect_left - 해당 index 반환 bisect_right - 해당 index+1 반환 print(bisect_left(lst, 9)) # result = 3 print(bisect_right(lst , 9)) # result = 3 2. 해당 값이 리스트에 없을 때 bisect_left - 리스트 오름차순에 들어갈 index 반환 bisect_right - 리스트 오름차순에 들어갈 index 반환
programmers.co.kr/learn/courses/30/lessons/72412 = q_score: end = mid else: start = mid + 1 answer.append(len(scores) - start) else: answer.append(0) return answer 나머지 코드들은 거의 문자열을 처리해 주는 코드들이기 때문에, 문자열 처리에 익숙하다면 밑에 코드들만 보는 것이 이해가 쉬울 수도.. # 1. 모든조건이 상관없는 " - and - and - and - 100"과 같은 상황이 나올 수 있으므로 " ": [100] 과 같은 빈문자열 key 값(k = 0) 도 만들어주어야 한다. for k in range(5): for combi in combinations(tmp_st..
programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 콘은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 컴 programmers.co.kr def solution(p): if p == "": return "" cnt = 0 is_correct = True for i in range(len(p)): if p[i] == ')': cnt -= 1 else: cnt += 1 if cnt < 0: is_correct = False if cnt == 0: if is_correct: return p[:i+1] + solutio..
programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자 programmers.co.kr def solution(s): min_length = len(s) for parse in range(1, len(s)//2 + 1): pre_word = s[:parse] result = s[:parse] cnt = 1 for i in range(parse, len(s), parse): cur_word = s[i: i+parse] if cur_word == pre_wor..
programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr from collections import Counter from itertools import combinations def solution(orders, course): answer = [] for length in course: order_list = [] for order in orders: for combi in combinations(order, length): # ..
programmers.co.kr/learn/courses/30/lessons/72414 코딩테스트 연습 - 광고 삽입 시간을 나타내는 HH, H1, H2의 범위는 00~99, 분을 나타내는 MM, M1, M2의 범위는 00~59, 초를 나타내는 SS, S1, S2의 범위는 00~59까지 사용됩니다. 잘못된 시각은 입력으로 주어지지 않습니다. (예: 04:60:24, 11 programmers.co.kr 주의 #1 play_time은 최소 1초이다. 주의 #2 시간의 범위는 00~99 이다. 통상적인 24:60:60 포맷과는 다르므로 이럴 경우, import time 이나 datetime을 해주면 오류가 난다. 시간을 초로 바꾸어 풀어주는것이 좋다. 주의 #3 최대 범위는 99:59:59 이를 초로 바꾸어..
programmers.co.kr/learn/courses/30/lessons/72413 코딩테스트 연습 - 합승 택시 요금 6 4 6 2 [[4, 1, 10], [3, 5, 24], [5, 6, 2], [3, 1, 41], [5, 1, 24], [4, 6, 50], [2, 4, 66], [2, 3, 22], [1, 6, 25]] 82 7 3 4 1 [[5, 7, 9], [4, 6, 4], [3, 6, 1], [3, 2, 3], [2, 1, 6]] 14 6 4 5 6 [[2,6,6], [6,3,7], [4,6,7], [6,5,11], [2,5,12], [5,3,20], [2,4 programmers.co.kr 1. 모든 간선들에 대한 최단거리 테이블을 갱신 2. 출발지점 s 에서 공통경로 i + 공통경로 ..