[프로그래머스] N으로 표현 파이썬 풀이
[문제 링크]
https://programmers.co.kr/learn/courses/30/lessons/42895
[입출력 예]
N | number | return |
---|---|---|
5 | 12 | 4 |
2 | 11 | 3 |
[소스코드]
def solution(N, number): possible_set=[[]] #1. possible_set의 i번째 원소는 # 0번 인덱스는 쓰지 않기 때문에 빈 리스트를 채운다. # 2. i개의 숫자로 만들 수 있는 숫자 종류이다. # 3. 가장 먼저 그 수 i개를 그대로 붙여서 만들 수 있는 것을 추가한다. for i in range(1,9): temp=[] temp.append(int(str(N)*i)) for j in range(1,i//2+1): print(j,i//2+1) for a in possible_set[j]: #4. possible_set j번째와 i-j번째의 연산 결과를 모은다. # 두 연산 결과를 합치면 결국 i개의 N을 이용해 만든 결과가 나온다. # 예를 들어 i=5면 a가 2,b가 3일 때의 결과와 # b가 3 a가 2일 때의 결과는 같을 것이므로 절반(올림)만 조회한다 # i가 2일 때 a=1 b=1 # i가 3일 때 a=1 b=2 # i가 4일 때 a=1 b=3 , a=2 b=2 # 두 개 다 고려하려 하지말고 하나만 탐색범위를 정확히 정하자 for b in possible_set[i-j]: temp.append(a+b) temp.append(a-b) temp.append(b-a) temp.append(a*b) if b!=0: temp.append(a/b) if a!=0: temp.append(b/a) possible_set.append(temp) if number in possible_set[i]: return i #5.해당하는 타깃이 i개로 만들 수 있다는 의미이다. return -1
'PS > Programmers' 카테고리의 다른 글
[프로그래머스] 디스크 컨트롤러 파이썬 (0) | 2021.11.25 |
---|---|
[프로그래머스] 가장 먼 노드 파이썬 풀이 (0) | 2021.11.25 |
[프로그래머스] 자물쇠와 열쇠 파이썬 (0) | 2021.11.11 |
[프로그래머스] 다단계 칫솔 판매 파이썬 (0) | 2021.11.11 |
프로그래머스_정수삼각형 (0) | 2021.10.20 |
댓글
이 글 공유하기
다른 글
-
[프로그래머스] 디스크 컨트롤러 파이썬
[프로그래머스] 디스크 컨트롤러 파이썬
2021.11.25 -
[프로그래머스] 가장 먼 노드 파이썬 풀이
[프로그래머스] 가장 먼 노드 파이썬 풀이
2021.11.25 -
[프로그래머스] 자물쇠와 열쇠 파이썬
[프로그래머스] 자물쇠와 열쇠 파이썬
2021.11.11 -
[프로그래머스] 다단계 칫솔 판매 파이썬
[프로그래머스] 다단계 칫솔 판매 파이썬
2021.11.11
댓글을 사용할 수 없습니다.