본문 바로가기

파이썬10

[프로그래머스] 큰 수 만들기 (Level 2) programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr [프로그래머스] 큰 수 만들기 (Level 2) 그리디 문제 number string에서 k개의 숫자를 제거했을 때 가장 큰 수를 만드는 문제 k가 남아있다면, 자신보다 작은 앞의 숫자는 모두 지워준다. k가 남아있지 않다면, 남은 숫자를 다 붙여주고 -number : "1231234" -k : 3 -answer : "3234" stack [ ] ['1'] ['2'] ['3'] ['3','1'] ['3','2'] ['3','2','3','4'] k 3 3 2 1 1 0 모든 숫자를 다 탐색했지만, k가 남아 있을 경우, 뒤에서 k만큼 숫자를 잘라준다. .. 2021. 4. 21.
[프로그래머스] 입국심사 (Level 3) programmers.co.kr/learn/courses/30/lessons/43238 코딩테스트 연습 - 입국심사 n명이 입국심사를 위해 줄을 서서 기다리고 있습니다. 각 입국심사대에 있는 심사관마다 심사하는데 걸리는 시간은 다릅니다. 처음에 모든 심사대는 비어있습니다. 한 심사대에서는 동시에 한 programmers.co.kr [프로그래머스] 입국심사 (Level 3) 이분탐색 문제 이분탐색 문제는 풀 때마다 떠올리기가 쉽지 않은것 같다. 조금 더 연습이 필요하다. 이 문제는 answer 값, 모든 사람이 입국 심사를 받을 때 걸리는 시간을 이분탐색 값으로 설정한다. 풀이 방법을 떠올리면 코드는 간단하다. def solution(n, times): answer = 0 left, right = 1, n.. 2021. 4. 20.
[프로그래머스] - 사칙연산 (LEVEL 4) 프로그래머스 사칙연산 파이썬 programmers.co.kr/learn/courses/30/lessons/1843?language=python3 코딩테스트 연습 - 사칙연산 ["5", "-", "3", "+", "1", "+", "2", "-", "4"] 3 programmers.co.kr 숫자와 '+', '-'만 있는 연산에서 결합 법칙이 성립하지 않는 '-'에 대해 연산 순서에 따른 결과의 최댓값을 출력하는 문제 1. 연산 f의 최댓값을 구해야 한다 2. f가 덧셈만으로 이루어져 있을 경우 순서 그대로 연산하면 되기 때문에 return eval(f) 3. f = f(x)-f(y)일 때, 최댓값은 min(f(y))인 경우 4. f = f(x)-f(y) = f(x) - (y - f(z)) 일 때, 최댓값.. 2021. 3. 19.
[프로그래머스] - 매출 하락 최소화 (LEVEL 4) programmers.co.kr/learn/courses/30/lessons/72416?language=python3# 코딩테스트 연습 - 매출 하락 최소화 CEO를 포함하여 모든 직원은 팀장 또는 팀원이라는 직위를 가지고 있으며 그림에서는 팀장과 팀원의 관계를 화살표로 표시하고 있습니다. 화살표가 시작되는 쪽의 직원은 팀장, 화살표를 받는 programmers.co.kr 트리dp 문제였다. dp문제라고 생각하긴 했지만 각 팀장이 참석 하는경우/하지 않는 경우로 나누어 풀 생각을 하지 못했다. 아직 dp 문제에 더 익숙해질 필요가 있을 것 같다. dfs로 먼저 리프노드까지 탐색 후 리프노드부터 최적해를 찾아 올라온다. root 노드부터 연결된 노드부터 탐색해가면서, 리프노드에서는 해당 노드를 선택했을 경.. 2021. 3. 16.