Algorithm175 [고득점 Kit(스택/큐)] 주식가격 (Python) 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr 풀이 입력으로 주어진 prices를 차례대로 스택에 push한다. 스택에는 (가격, 스택에 push된 시간)과 같은 튜플 형태로 넣어줬다. 여기에서 시간은 인덱스와 같은 의미를 지닌다. 스택에 넣기 전에 스택의 top에 있는 주식의 가격과 비교한다. 현재 스택의 top에 있는 주식 가격보다 현재 주식의 가격이 낮을 경우에는 스택에서 해당 주식을 pop을 통해 제거한다. 제거하면서 answer 배열에 '현재 시간 - 스택에.. 2022. 1. 19. [고득점 Kit(스택/큐)] 다리를 지나는 트럭 (Swift, Python) 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr 풀이 입력으로 주어진 트럭들을 순서대로 bridgeQueue에 append한다. 현재 다리에 있는 모든 트럭의 무게를 합한 값에 지금 다리로 진입해야 하는 트럭의 무게가 합해졌을 때 제한 무게를 넘지 않는지 체크한다. 만약 넘지 않을 경우에는 다리에 트럭을 진입시키는데 이때 (트럭의 무게, 다리에 진입한 시간)의 형태로 bridgeQueue에 넣어줬다. 만약 무게 제한을 넘어설 경우에는 bridgeQueue에서 가장 먼저 들어온 트럭을.. 2022. 1. 18. [고득점 Kit(스택/큐)] 프린터 (Swift, Python) 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr 풀이 총 3개의 스택/큐를 만들었다. 인쇄해야 하는 큐(a) : 인쇄해야 하는 문서들이 들어있는 큐 인쇄 순서를 담아두는 큐(b) : 우선순위에 따른 인쇄 순서를 담아두는 큐. 임시 pool(c) : b에서 우선순위에 밀려 다음으로 미뤄진 리스트를 임시로 저장하여 a에 넣어주기 위해 사용되는 큐 a는 입력으로 주어진 인쇄 리스트를 의미한다. 차례대로 앞에서부터 b에 담아주는데 만약 b에 가장 뒤쪽에 있는 문서에 비해 우선순위가 높은지 낮은지 체크한다. 만약 b에 있.. 2022. 1. 17. [고득점 Kit(스택/큐)] 기능개발 (Swift, Python) 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 풀이 입력으로 주어진 progresses를 순차적으로 탐색하며 작업 진도가 얼마나 남았는지를 체크한다. 현재 작업을 배포하기 위해서 며칠이 필요한가를 체크하고 다음 작업이 해당 일 수만큼 작업했을 때 배포가 가능한지 체크한다. 배포가 불가능한 작업을 만날때까지 카운트를 하고 불가능한 작업을 만나면 다시 새롭게 위 과정을 반복한다. 코드 [Swift] import Foundation func solution(_ progresses:[Int], _ speed.. 2022. 1. 15. [LeetCode] 611. Valid Triangle Number (Swift, Python) Valid Triangle Number - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이 먼저 삼각형을 만들기 위해서는 가장 긴 변의 길이가 나머지 두 변의 합보다 작아야 한다. 즉, 가장 긴 변을 c라고 하고 나머지 변들을 a, b라고 한다면 a + b > c를 만족해야만 삼각형을 만들 수 있는 것이다. 입력으로 주어진 nums를 오름차순으로 정렬해주고 for문으로 배열의 인덱스 2부터 끝까지 진행한다. for문에서 선택되는 변은 c에 해당하고 나머지 두.. 2022. 1. 11. [LeetCode] 1262. Greatest Sum Divisible by Three (Swift, Python) Greatest Sum Divisible by Three - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 풀이 sums라는 원소 3개를 가진 배열을 하나 만들어서 사용하였다. 각각의 원소는 3으로 나눴을 때 나오는 나머지의 최대 합계를 나타낸다. 즉, sums[0]에는 3으로 나누어 떨어지는 숫자의 합 중 최댓값이 들어있다. 입력으로 주어진 nums 배열을 순차적으로 탐색해가며 더해주는데, 이때 각각의 sums 원소에 현재 숫자를 더해준다. 그러면 총 3개의 .. 2022. 1. 10. 이전 1 ··· 19 20 21 22 23 24 25 ··· 30 다음