본문 바로가기

programmers

(12)
[큐] 프로그래머스 L2 '프린터' (Python) https://programmers.co.kr/learn/courses/30/lessons/42587 코딩테스트 연습 - 프린터 일반적인 프린터는 인쇄 요청이 들어온 순서대로 인쇄합니다. 그렇기 때문에 중요한 문서가 나중에 인쇄될 수 있습니다. 이런 문제를 보완하기 위해 중요도가 높은 문서를 먼저 인쇄하는 프린 programmers.co.kr priorities값과 해당 값의 배열 위치를 q에 저장 문제에서 제시한 방법대로 알고리즘을 구현 #1차 시도. 2,5,18 실패. def solution(priorities, location): q = [] count = 0 for idx, i in enumerate(priorities): q.append((idx,i)) while q: tmp = q.pop(0)..
[동적계획법] 프로그래머스 L3 '정수 삼각형' (Python) https://programmers.co.kr/learn/courses/30/lessons/43105 코딩테스트 연습 - 정수 삼각형 [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 programmers.co.kr https://www.acmicpc.net/problem/1932 1932번: 정수 삼각형 첫째 줄에 삼각형의 크기 n(1 ≤ n ≤ 500)이 주어지고, 둘째 줄부터 n+1번째 줄까지 정수 삼각형이 주어진다. www.acmicpc.net 삼각형의 꼭대기에서 바닥까지의 합을 구하는 것이므로, 아래 칸으로 이동할 때 윗 칸의 숫자를 더해준다. 삼각형의 왼쪽 변의 숫자는 항상 왼쪽 숫자를 더하고, 오른쪽 변의 숫자는 항상 오른쪽 숫자를 더한..
[탐욕법] 프로그래머스 L2 '구명보트' (Python) https://programmers.co.kr/learn/courses/30/lessons/42885 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr people이 정렬이 되어있지 않으므로 정렬 시킴 3~5 반복 해당 몸무게가 limit의 반 값보다 작고 people의 마지막 몸무게라면 answer에 1을 더하고 반복문 종료 해당 몸무게와 people의 마지막 몸무게를 합한 값이 limit보다 작으면 answer에 1을 더하고 마지막 몸무게 삭제 해당 몸무게와 people의 마지막 ..
[재귀함수] 프로그래머스 L2 '괄호 변환' (Python) https://programmers.co.kr/learn/courses/30/lessons/60058 코딩테스트 연습 - 괄호 변환 카카오에 신입 개발자로 입사한 "콘"은 선배 개발자로부터 개발역량 강화를 위해 다른 개발자가 작성한 소스 코드를 분석하여 문제점을 발견하고 수정하라는 업무 과제를 받았습니다. 소스를 programmers.co.kr 균형 잡힌 괄호 문자열과 올바른 괄호 문자열을 확인하는 함수를 각각 생성한다. 결괏값을 도출할 수 있는 조건이 문제에 자세히 쓰여 있으므로 하나씩 코드를 짠다. #1차시도 - 테스트 2,4,6,7,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25 def solution(p): answer = '' w="" for i in p..
[완전탐색] 프로그래머스 L1 '모의고사' (Python) https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 반복문 사용. 패턴을 answers 길이에 맞춤. 문제가 1개~10,000개일 경우 계산 채점할 수 있는 변수 필요. 가장 많이 맞춘 사람 걸러내기 #1차 시도 --> 몇개의 테스트케이스 실패 def solution(answers): answer = [] a1, a2, a3 = [],[],[] j=1 for i in answers: if i==j: a1.appe..
[큐] 프로그래머스 L2 '다리를 지나는 트럭' (Python) https://programmers.co.kr/learn/courses/30/lessons/42583 코딩테스트 연습 - 다리를 지나는 트럭 트럭 여러 대가 강을 가로지르는 일차선 다리를 정해진 순으로 건너려 합니다. 모든 트럭이 다리를 건너려면 최소 몇 초가 걸리는지 알아내야 합니다. 다리에는 트럭이 최대 bridge_length대 올라갈 programmers.co.kr Queue 사용 def solution(bridge_length, weight, truck_weights): Q = [0] * bridge_length total_weight = 0 time = 0 while truck_weights: total_weight -= Q.pop(0) if total_weight + truck_weights..
[큐] 프로그래머스 L2 '기능개발' (Python) https://programmers.co.kr/learn/courses/30/lessons/42586 코딩테스트 연습 - 기능개발 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 programmers.co.kr 100이 될 때까지 while문? speeds를 100이 될 때까지 더하는 for문? progresses가 100이 되면 answer +=1 하고 순서대로 삭제 #1차시도 : 1,5 런타임에러, 2 실패 def solution(progresses, speeds): queue = [] finish = [] for i in range(len(progresse..
[스택] 프로그래머스 L2 '주식가격' (Python) https://programmers.co.kr/learn/courses/30/lessons/42584 코딩테스트 연습 - 주식가격 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return 하도록 solution 함수를 완성하세요. 제한사항 prices의 각 가격은 1 이상 10,00 programmers.co.kr prices의 길이만큼 시간이 지남 스택으로 사용할 타이머 생성 #1차시도 : 2,3,4,5,6,7,8,9,10 & 효율성테스트 실패 def solution(prices): stack = [0] answer = [0] * len(prices) for i in range(1,len(prices)): if prices[i] ..

LIST