https://github.com/Dev-Guccin
Guccin
https://github.com/Dev-Guccin
전체 방문자
오늘
어제
  • 분류 전체보기 (172)
    • 알고리즘 (140)
    • 삽질방지 (13)
    • SystemHacking (1)
    • 일상 (4)
    • 개발 (8)
    • 스프링 부트 REST API 개발일지 (5)
    • JPA (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 최소힙
  • 유클리드호제법
  • 파이썬
  • 그리디
  • counter
  • 다익스트라
  • MST
  • 최대공약수
  • 12015
  • LIS
  • 백준
  • DFS
  • 다이나믹 프로그래밍
  • 이분탐색
  • 재귀함수
  • 다이나믹프로그래밍
  • 스택
  • 재귀
  • 최단경로
  • 큐
  • Python
  • 그래프
  • 유니온 파인드
  • 이분 탐색
  • python3
  • 프로그래머스
  • heapq
  • BFS
  • 백트래킹
  • DP

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
https://github.com/Dev-Guccin

Guccin

알고리즘

백준 14888 풀이 (재귀함수, 백트래킹, 연산자 끼워넣기)

2021. 2. 16. 19:42

일단 혹시나 내 코드를 보시는 분은 내가 아직도 백트래킹을 이해를 못한 관계로 코드만 참고하면 좋겠다.

일단 한방에 성공하긴 했으나 아직도 재귀와 백트래킹이 두려운 시점이라 일단 재귀로 대충짜봤다.

 

1. 주어진 값들을 리스트와 연산자 맵을 재귀함수로 사용한다.

2. 리스트의 0번째와 1번째를 연산자 맵에서 하나꺼내서 사용한다.

3. 반복하다가 연산자 맵이 전부 0이면(sum이 0이면) 종료하고 전체 리스트에 넣어준다.

n = int(input())

nlist = list(map(int,input().split()))
Map = list(map(int,input().split()))
Tmp = []

def back(nlist, miniMap):
    if len(nlist) == 1:
        Tmp.append(nlist[0])
        return
    
    for op in range(4):
        if miniMap[op] < 1:
            continue
        else:
            a = nlist[0]
            b = nlist[1]
            if op == 0:
                c = [a + b] + nlist[2:]
            elif op == 1:
                c = [a - b] + nlist[2:]
            elif op == 2:
                c = [a * b] + nlist[2:]
            else:
                if a < 0: #음수인경우
                    c = [-(abs(a)//b)] + nlist[2:]
                else:
                    c = [a//b] + nlist[2:]
            miniMap[op] -= 1
            back(c,miniMap)
            miniMap[op] += 1
back(nlist, Map)
print(max(Tmp))
print(min(Tmp))

 

pypy3를 사용하라고 하는거 같아서 pypy3로 제출했다.

'알고리즘' 카테고리의 다른 글

백준 9184 풀이 (재귀함수, 메모제이션, 다이나믹 프로그래밍)  (0) 2021.02.18
백준 14889 풀이 (itertools,combinations)  (0) 2021.02.17
백준 9663 풀이 (백트래킹, 재귀함수)  (0) 2021.02.16
백준 15650 풀이 (재귀함수)  (0) 2021.02.15
백준 15649 풀이 (재귀함수, 백트래킹)  (0) 2021.02.15
    '알고리즘' 카테고리의 다른 글
    • 백준 9184 풀이 (재귀함수, 메모제이션, 다이나믹 프로그래밍)
    • 백준 14889 풀이 (itertools,combinations)
    • 백준 9663 풀이 (백트래킹, 재귀함수)
    • 백준 15650 풀이 (재귀함수)
    https://github.com/Dev-Guccin
    https://github.com/Dev-Guccin
    https://github.com/Dev-Guccin

    티스토리툴바