레벨 29 [Python] 괄호 변환 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 풀이 문제에서 주어진 조건대로 재귀함수를 작성하여 해결했습니다. 코드 def solution(p): answer = '' if is_proper(p): return p answer = go(p) return answer def go(p): if p == "": return p u, v = split_bracket(p) # print(u, v) if is_proper(u): u += go(v) return u else: s = "(" s += go(v) s += ".. 2021. 3. 21. [Python] 메뉴 리뉴얼 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 풀이 각 order별 길이가 cnt인 만들 수 있는 조합을 전부 만들고 가장 많이 만들어진 조합을 구해 해결했습니다. 이때, 조합이 만들어진 최대 개수가 1이라면 문제의 조건에따라 제외해야합니다. orders의 안에있는 메뉴들의 순서를 알파벳으로 정렬해야 해결이 됬습니다. 코드 from itertools import combinations def solution(orders, course): answer = [] # orders 리스트 안의 내용들을 각각 알파벳 .. 2021. 3. 15. [Python] 문자열 압축 코딩테스트 연습 - 문자열 압축 데이터 처리 전문가가 되고 싶은 "어피치"는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문 programmers.co.kr 풀이 우선 문자열이 한개만 올 수 있으므로 해당 경우를 처리했습니다. 다음으로, 문자열을 1개부터 최대로 자를 수 있는 개수인 len(s) / 2 만큼까지 각각 일정하게 잘라 리스트에 저장했습니다. 그 다음 반복문을 통해 리스트의 인덱스를 사용해서 이전의 값과 같다면 압축을 할 수 있으므로 cnt를 +1 시켜주었습니다. 그리고 만약 다를경우 cnt가 1이라면 이전의 자른 문자가 한 번만 나온것이므로 그대로 압축문자열에 저장해주고 1보다 클 경우에는 압축이.. 2021. 3. 14. 이전 1 2 다음