본문 바로가기
반응형

카카오7

[프로그래머스] 택배 배달과 수거하기 Python 풀이 문제 택배를 배달하고 효율적으로 수거하는 방법을 구하는 문제다. 구현 최대한 먼 곳부터 처리하는 것이 효율적이기 때문에 deliveries, pickups 리스트를 뒤집고 시작할 것이다. 그러고 맨뒤부터 차례대로 배달과 수거를 미리 계산하도록 구현하면 되는 간단한 문제다. 코드로 보면 이해가 쉬울 것이다. 코드 def solution(cap, n, deliveries, pickups): answer=0 d,p=0,0 deliveries.reverse() pickups.reverse() for i in range(n): d+=deliveries[i] p+=pickups[i] while d>0 or p>0: d-=cap p-=cap answer += (n-i)*2 return answer 여기서 d와 p는 .. 2023. 6. 29.
[프로그래머스] [1차] 캐시 Python Code 2022.09.20 - [Project/Lotto] - [프로젝트] 로또 웹 만들기(next js, firebase, git action) 최근에 계속 로또 프로젝트를 하느라 블로그 신경을 못썼다. 오랜만에 코딩 테스트를 다시 포스트 해보겠다. 2018년 카카오 블라인드 테스트 1차 문제인 캐시이다. 레벨은 2로 되어있지만 쉬운 편이다. 문제 문제는 쉽게 이해할 수 있다. 여기서 입력 형식의 마지막 문장을 주의해서 소문자든 대문자든 맞춰주어야 한다. 구현 구현은 쉽다. LRU란 최근에 가장 많이 안 쓰인 것을 캐시에서 제외하는 로직이다. 그러므로 새로운 것을 계속 넣어주고 기존의 것은 빼주는 queue를 선택하고 그중에서도 성능을 위해 deque방식을 택했다. cache hit 시 cache에 있던 것을.. 2022. 9. 27.
[프로그래머스] 괄호 변환 Python Code 프로그래머스 괄호 변환을 파이썬으로 풀어보겠다. 이 문제는 2020년 카카오 코딩 테스트 문제고 레벨은 2로 되어있다. 문제 이 문제의 설명은 길지만 용어의 정의를 차근차근 코드로 옮겨 적으면 된다. 매개변수 설명에 양쪽 괄호의 개수가 항상 같으므로 예외사항을 따로 고려하지 않아도 된다. 구현 2번에 "균형 잡힌 문자열" u, v로 구분하는 함수, 3, 4번을 나누는 기준이 되는 "올바른 괄호 문자열" 판단 함수를 분리해서 구현했다. 문제 설명에 구현이 다 나와있어서 별로 생각할 게 없는 문제다. 코드 def divUV(p): l, r = 0,0 for i in range(len(p)): if p[i] == '(': l +=1 else: r +=1 if l==r: return p[:i+1], p[i+1:.. 2022. 9. 4.
[프로그래머스] [1차] 다트 게임 Python Code 프로그래머스의 2018년 카카오 코딩 테스트 문제 1차 다트게임을 Python으로 풀어보겠다. 문제 문제는 쭉 읽어보면 이해하기 쉽다. 구현 입력 문자열을 반복문으로 돌며 1. 숫자인지 확인 2. 보너스 확인 3. 옵션 확인 이 세 가지를 한다. 보너스 다음에 숫자가 온다면 숫자에 보너스 값을 제곱하여 chance(기회) 리스트에 넣는다. 옵션을 받으면 숫자에 보너스 값을 제곱하고 옵션 처리를 해준다. 시뮬레이션 문제라 구현은 간단하게 할 수 있다. 코드 bonus = {'S':1, 'D':2, 'T':3} def solution(dartResult): chance=[] n="" for i, c in enumerate(dartResult): o=1 if c.isdigit(): n+=c elif c in .. 2022. 8. 27.
반응형