[프로그래머스] N으로 표현 (LEVEL 3)
programmers.co.kr/learn/courses/30/lessons/42895 코딩테스트 연습 - N으로 표현 programmers.co.kr [프로그래머스] N으로 표현 (LEVEL 3) 동적 프로그래밍 문제. 쉽게 생각했는데 생각보다 고민한 문제. 처음에는 dp[n] = dp[n-1] + ['+N', '-N', '/N', '*N'] 계산을 한 결과만 구해나가면 될줄 알았지만, dp[n] = dp[i] + dp[n-i]; i : 1~n-1 라고 생각하고 풀어야한다. 조건이 많아서(max deep이 8) DFS로 풀어도 시간초과가 나지 않고 풀리긴 한다. def solution(N, number): adds= lambda x,y: map(int,[x+y,x-y,x/y,x*y]) dp = [0] ..
2021. 4. 18.
[프로그래머스] - 사칙연산 (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.