반응형 구현40 [프로그래머스] [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 시험 준비를 조금 하느라 포스팅을 오랜만에 하게 되었다. 추석 연휴까지는 포스팅을 많이는 못할 것 같다 ㅠㅠ 그럼 이번 문제를 보자. 프로그래머스 숫자의 표현을 파이썬으로 풀어보겠다. 레벨은 2로 되어있지만 예전 문제라 쉬운 편이다. 문제 구현 구현은 매번 sum을 하면 시간이 오래 걸리기 때문에 숫자를 하나씩 더하고 빼면서 sum을 저장하는 방식 이미지화하면 윈도우를 슬라이딩하는 방식(?)으로 구현해보겠다. 설명이 좀 모호해서 코드로 보겠다. 코드 def solution(n): answer = [] suma, count=0, 0 i=1 while i 2022. 9. 8. [프로그래머스] 괄호 변환 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. [프로그래머스] 짝지어 제거하기 Python Code 프로그래머스 짝지어 제거하기를 파이썬으로 풀어보겠다. 난이도는 레벨 2다. 문제 문자열에 연속된 부분을 다 지우는 것이다. 구현 처음에는 while로 구현하고 반복되는 문자가 나올 때마다 삭제하고 뒤로 돌아갈까 생각했지만 여러 번 지워질 때 성능이 좋지 않아서 다른 방법을 고민했다. stack구조로 구현하는 게 제일 쉽고 효율성이 잘 나올 거라고 판단해서 stack구조를 사용했다. 반복문으로 문자열을 돌면서 stack의 top값과 같으면 pop을 하고 아니면 insert를 하는 방식을 선택했다. 코드 def solution(s): temp = [] temp.append(s[0]) for c in s[1:]: if temp and temp[-1]==c: temp.pop() else: temp.append(.. 2022. 8. 31. 이전 1 2 3 4 ··· 10 다음 반응형