본문 바로가기
반응형

Coding Test/Python53

[프로그래머스] 대충 만든 자판 Python 풀이 오늘은 프로그래머스 최신 문제들을 다뤄보려고 한다. 먼저 대충 만든 자판이다. 문제 구현 반복문을 각각 사용해서 문제 그대로를 구현할 수 있다. 타겟 문자열을 돌고 타겟 알파벳을 보고 keymap에서 찾는 방식으로 먼저 구현해 보겠다. 코드 def solution(keymap, targets): answer = [] for t in targets: #타겟 문자열 cntsum=0 for c in t: #타겟문자열의 각 알파벳 flag = False cnt=float('inf') for key in keymap: idx = key.find(c) if idx == -1: continue cnt = min(cnt, idx+1) flag=True if flag: cntsum+=cnt else: answer.app.. 2023. 3. 9.
[Codility Challenge] Year of the Rabbit Python (코드 업데이트) 오늘은 Codility Challenge를 풀어봤다. 현재는 Year of the Rabbit 챌린지가 진행 중이다. 아래 링크에서 챌린지를 진행할 수 있다. https://app.codility.com/programmers/custom_challenge/year_of_the_rabbit_2023/ Codility Your browser is not supported Please, update your browser or switch to a different one. Learn more about what browsers are supported app.codility.com 시간제한은 120분이고 거의 모든 언어들을 사용할 수 있다. (C, C++, C#, Go, Java 11, Java 8, Jav.. 2023. 2. 2.
[Codility Challenge] National Coding Week 2022 Python 최근 며칠 동안 코딜리티 챌린지에 매달려서 문제를 풀어봤다. 아래 링크에서 챌린지에 도전할 수 있다. https://app.codility.com/programmers/challenges/ National Coding Week 2022 challenge Show your skills! app.codility.com 문제풀이 문제는 위와 같다. 노드 사이의 거리가 홀수인 것을 모두 구하는 것이다. 아래 그림으로 예를 들어보면 길이 1 : (0,1), (1,2), (2,3), (3,4), (4,5) 길이 3 : (0,3), (1,4), (2,5) 길이 5 : (0,5) 이렇게 총 9개이다. 이번 문제는 꽤나 어려웠다. 계속 시간 복잡도 때문에 silver award를 받았어서 계속 도전했다. 결국 여러 테스.. 2022. 10. 22.
[프로그래머스] [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.
반응형