반응형 카카오8 [프로그래머스] 가장 많이 받은 선물 python 풀이 문제 카카오 겨울 인턴십 기출문제로 난이도는 낮지만 정답률도 낮은 문제라 가져와 봤다. 구현 시뮬레이션은 쉽지만 어떤 타입의 변수에 입력값들을 담아야 할지가 이 문제의 키라고 생각한다.모두 배열로 만들어 매번 배열의 index를 찾게 하는 것보다는dict에 담아서 조금 더 시간의 효율을 얻고 싶었다. 아래 코드에서 살펴보자코드 f에 각 이름 별 index를 담았고나머지는 리스트에 다 담았다. 시뮬레이션 로직은 최 하단의 for문 밖에 없어서 문제 자체는 쉽다.그래서 어떤 data type을 사용할지가 중요한 문제라고 생각된다.다른 풀이 많은 사람들이 이 방식으로 풀었고, 더 좋은 방식은 보이지 않아서 다른 풀이는 가져오지 않았다. 2024. 12. 21. [프로그래머스] 택배 배달과 수거하기 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 2 다음 반응형