Notice
Recent Posts
Recent Comments
Link
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
Tags more
Archives
Today
Total
관리 메뉴

쓰고싶은거 써요

프로그래머스 N으로 표현 파이썬 본문

기타

프로그래머스 N으로 표현 파이썬

우히힝 2021. 12. 6. 18:58

https://programmers.co.kr/learn/courses/30/lessons/42895

 

코딩테스트 연습 - N으로 표현

 

programmers.co.kr

 

 

DP문제라고 말 안듣고 시작했으면 평생 못풀었을거같읍니다

 

RETURN값이 8을 넘지 않기 떄문에

[5],[55],[555] ~~ [55555555] 까지 있는데

EX RETURN 2) [(55),(5-5),(5+5),(5*5),(5/5)] 사칙연산 + (숫자를 붙여놓음)을 다 넣으면된다.

 

이걸 모든 경우를 다 때려박으면 된다.

 

RETURN = 1 [5]

RETURN = 2 [0,1,10,25,55]

RETURN = 3 ((RETURN 2)과 RETURN 1) 에 대한 사칙연산

RETURN = 4 (RETURN~3까지 ) 에 대한 사칙연산

FOR문을 8까지 진행 이후에도 NUMBER 과 동일한 값이 안나온다면 -1

 

만약 나왔다면 현재 진행중인 RETURN 값 반환

 

 

def solution(N, number) :
    answer = 0

    if N == number :
        return 1

    s = [set() for i in range(8)]

    for i in range(1,9):
        s[i-1].add(int(str(N)*i))

    for i in range(1,8):
        for j in range(i):
            for x in s[j]:
                for y in s[i-j-1]:

                    s[i].add(x+y)
                    s[i].add(x-y)
                    s[i].add(x*y)
                    if y != 0 and x != 0:
                        s[i].add(x//y)

        if number in s[i]:
            answer = i+1
            break

    if answer == 0:
        answer = -1

    return answer

'기타' 카테고리의 다른 글

프로그래머스 파이썬 가장 먼 노드  (0) 2021.12.07
프로그래머스 파이썬 배달  (0) 2021.12.06
프로그래머스 정수 삼각형  (0) 2021.12.04
jsp 수업 20211105  (0) 2021.11.06
프로그래머스 파이썬 전화번호 목록  (0) 2021.11.06
Comments