프로그래머스 파이썬 N으로 표현 프로그래머스 N으로 표현 파이썬 파이썬 프로그래머스 N으로 표현 파이썬 N으로 표현 프로그래머스 N으로 표현 프로그래머스 파이썬 N으로 표현 파이썬 프로그래머스
N으로 표현
https://programmers.co.kr/learn/courses/30/lessons/42895
문제 단순화
- number, N 정수가 있다.
- N에 사칙연산을 사용하여 number를 만들 때, N의 사용횟수의 최소값을 리턴한다.
- 최솟값이 8보다 크면 -1을 리턴한다.
문제풀이
- 사용횟수를 기준으로 dp 리스트를 만든다.
- 이전 dp 요소들을 이용해서 사칙연산을 수행한다.
- 사용횟수 8번까지 반복하면서, number를 찾으면 해당 사용횟수를 리턴한다.
- 찾지 못하면 -1를 리턴한다.
팁
- 중복 값을 제거한다.
- 반복문에 유의한다.
def solution(N, number):
answer = -1
dp = [[] for _ in range(9)]
for i in range(1,9):
dp[i].append(int(str(N)*i))
for j in range(1,i):
for front in dp[j]:
for back in dp[i-j]:
dp[i].append(front+back)
dp[i].append(front-back)
dp[i].append(front*back)
if back:
dp[i].append(front//back)
dp[i] = list(set(dp[i]))
if number in dp[i]:
answer = i
break
return answer
'프로그래머스' 카테고리의 다른 글
프로그래머스 등굣길 파이썬 (0) | 2021.09.14 |
---|---|
프로그래머스 정수 삼각형 파이썬 (0) | 2021.09.14 |
프로그래머스 큰 수 만들기 파이썬 (0) | 2021.09.12 |
프로그래머스 섬 연결하기 파이썬 (0) | 2021.09.12 |
프로그래머스 단속카메라 파이썬 (0) | 2021.09.12 |