백준 14888 파이썬(DFS, *args 사용 방법)

2022. 5. 26. 14:07·프로그래밍/알고리즘(자바)
목차
  1. 문제 : https://www.acmicpc.net/problem/14888
  2. 배운점 :
  3. 풀이 :

문제 : https://www.acmicpc.net/problem/14888

14888번: 연산자 끼워넣기

배운점 :

*args로 함수 정의할 때 뿐 아니라 호출할때 도 사용할 수 있다.
보통은 함수 정의할때 여러 리스트를 호출하는 용도로 종종 쓰인다고 알고 있었는데 신기하다.

풀이 :

n = int(input())
nums = list(map(int, input().split()))
operators = list(map(int, input().split()))

# 초기화
max_value = -10**9
min_value = 10**9


def dfs(depth, total, plus, minus, multiply, divide):
    global max_value, min_value
    if depth == n:
        if max_value < total :
            max_value = total
        if min_value > total :
            min_value = total
        return 
    if plus:
        dfs(depth+1, total + nums[depth], plus-1, minus, multiply, divide)
    if minus:
        dfs(depth+1, total - nums[depth], plus, minus-1, multiply, divide)        
    if multiply:
        dfs(depth+1, total * nums[depth], plus, minus, multiply-1, divide)        
    if divide:
        if total > 0 :
            dfs(depth+1, total // nums[depth], plus, minus, multiply, divide-1)        
        else:   
            dfs(depth+1, -(-total // nums[depth]), plus, minus, multiply, divide-1)        

dfs(1, nums[0], *operators)

print(max_value)
print(min_value)

'프로그래밍 > 알고리즘(자바)' 카테고리의 다른 글

시간 복잡도 및 아스키코드  (0) 2018.10.16
야근 지수 Level 3 #Collection.reverse  (0) 2018.05.08
하샤드수 Level 2 #return 조건문 #foreach문  (0) 2018.05.07
행렬의 곱셈 Level 2 # Arrays.deepToString # Arrays.toString  (0) 2018.05.07
정수 내림차순으로 배치하기 Level 2 #split #Arrays.sort #Collections.reverse #Arrays.asList #String.join  (0) 2018.05.07
  1. 문제 : https://www.acmicpc.net/problem/14888
  2. 배운점 :
  3. 풀이 :
'프로그래밍/알고리즘(자바)' 카테고리의 다른 글
  • 시간 복잡도 및 아스키코드
  • 야근 지수 Level 3 #Collection.reverse
  • 하샤드수 Level 2 #return 조건문 #foreach문
  • 행렬의 곱셈 Level 2 # Arrays.deepToString # Arrays.toString
블루풀
블루풀
  • 블루풀
    [ IT] Be Dreamer
    블루풀
  • 전체
    오늘
    어제
    • 분류 전체보기 (35)
      • 프로그래밍 (33)
        • ChatGPT Q&A (0)
        • 안드로이드 스튜디오 (1)
        • 알고리즘(자바) (23)
        • GitHub (0)
        • Front-end (2)
        • Back-end (6)
        • 개발자 Basic English (1)
      • 취업정보 (0)
      • 일상 (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 미디어로그
    • 위치로그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    admin
    ListView
    emmet
    여행
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
블루풀
백준 14888 파이썬(DFS, *args 사용 방법)

개인정보

  • 티스토리 홈
  • 포럼
  • 로그인
상단으로

티스토리툴바

단축키

내 블로그

내 블로그 - 관리자 홈 전환
Q
Q
새 글 쓰기
W
W

블로그 게시글

글 수정 (권한 있는 경우)
E
E
댓글 영역으로 이동
C
C

모든 영역

이 페이지의 URL 복사
S
S
맨 위로 이동
T
T
티스토리 홈 이동
H
H
단축키 안내
Shift + /
⇧ + /

* 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.