[백준 14888번] 연산자 끼워넣기

2024. 3. 17. 22:15· Koala - 14기/코딩테스트 준비 스터디

문제 요약

N개의 수와 N-1개의 연산자가 주어졌을 때, 만들 수 있는 식의 결과가 최대인 것과 최소인 것을 구하는 프로그램


입력 

첫째 줄에는 수의 개수가 주어지고, 둘째 줄에는 수가 주어지며, 셋째 줄에는 4개의 연산자의 각각 사용 가능한 개수가 주어진다

ex)

2
5 6
0 0 1 0

 


출력

첫째 줄에 최대값을, 둘째 줄에 최소값을 출력한다.

ex)

30
30

문제 코드


코드 설명 

5번 줄까지는 입력을 받는 부분이니 굳이 설명하지 않겠음.


go 함수

재귀함수로 매개변수로 받는 add, sub, mul, div의 남은 개수를 파악하고 이에 따라서 다음 연산을 진행한다.

더이상 사용할 연산자가 없으면 계산 값을 res_l에 할당하고 재귀적으로 실행됐던 부분을 반대로 돌아간다. 이후 다른 순서로 또 재귀적으로 계산한다. 그리고 다시 돌아간다. 이를 남은 연산자의 수가 없을때까지 계속해서 반복한다.

add, sub, mul, div if 문이 순서대로 배열되어있어서 언제 실행해도 add부터 실행되는 것이 아닐까?라고 생각했는데, 가장 처음 시도에는 add, sub, mul, div 우선순위로 실행되는게 맞으나 처음 시도가 끝나게 되면 add if문의 다음 순서인 sub if 문이 실행되어서 결국 순차적으로 모든 연산자가 랜덤 순서로 실행 될 수 있음을 디버깅을 통해 알 수 있었다.


go 함수를 이용해서 입력 받은 수들을 모두 계산한 결과값을 모은 res_l 에서 최대값과 최소값을 출력한다.


소감

백트래킹의 기본적인 원리를 이해하고 구현해볼 수 있는 문제이다.

 

 

저작자표시 (새창열림)

'Koala - 14기 > 코딩테스트 준비 스터디' 카테고리의 다른 글

[백준/python] 14502 연구소  (0) 2024.03.17
[백준/C++] 2503 숫자야구  (0) 2024.03.17
[백준/python] 호텔 방 번호  (0) 2024.03.17
[백준/C++] 1855번 : 암호  (0) 2024.03.17
[백준 2116 cpp] 주사위 쌓기  (0) 2024.03.17
'Koala - 14기/코딩테스트 준비 스터디' 카테고리의 다른 글
  • [백준/python] 14502 연구소
  • [백준/C++] 2503 숫자야구
  • [백준/python] 호텔 방 번호
  • [백준/C++] 1855번 : 암호
KauKoala
KauKoala
항공대 알고리즘 동아리 Koala 🥰
Koala항공대 알고리즘 동아리 Koala 🥰
KauKoala
Koala
KauKoala
전체
오늘
어제
  • 분류 전체보기 (1884)
    • 공지 게시판 (10)
    • 정보 게시판 (8)
    • Codeforce (15)
    • acm-icpc (6)
    • Koala - 1기 (16)
    • Koala - 2기 (111)
      • Programming Contest (1)
      • A반 (20)
      • B반 (39)
      • C반 (22)
      • 기초 강의 (18)
    • Koala - 3기 (10)
      • 기초 스터디 (7)
    • Koala - 4기 (67)
    • Koala - 5기 (144)
      • 기초 알고리즘 스터디 (75)
      • 코딩테스트 준비 스터디 (68)
    • Koala - 6기 (102)
      • 기초 알고리즘 스터디 (75)
      • 코딩테스트 준비 스터디 (25)
      • 모의 테스트 스터디 (1)
    • Koala - 7기 (167)
      • 기초 알고리즘 스터디 (97)
      • 코딩테스트 준비 스터디 (68)
      • 모의 테스트 스터디 (1)
    • Koala - 8기 (44)
      • 기초 알고리즘 스터디 (32)
      • 코딩테스트 준비 스터디 (10)
      • 코드포스 버츄얼 스터디 (0)
      • 프로그래머스 LV2 스터디 (0)
    • Koala - 9기 (205)
      • 기초 알고리즘 스터디 (138)
      • 코딩테스트 준비 스터디 (64)
      • 모의테스트 준비 스터디 (1)
    • Koala - 10기 (117)
      • 기초 알고리즘 스터디 (30)
      • 코딩테스트 준비 스터디 (86)
      • 모의테스트 준비 스터디 (1)
    • Koala - 11기 (151)
      • 기초 알고리즘 스터디 (46)
      • 코딩테스트 준비 스터디 (104)
      • 모의테스트 준비 스터디 (1)
    • Koala - 12기 (86)
      • 기초 알고리즘 스터디 (31)
      • 코딩테스트 준비 스터디 (55)
    • Koala - 13기 (119)
      • 기초 알고리즘 스터디 (52)
      • 코딩테스트 준비 스터디 (67)
    • Koala - 14기 (116)
      • 기초 알고리즘 스터디 (39)
      • 코딩테스트 준비 스터디 (77)
    • Koala - 15기 (138)
      • 기초 알고리즘 스터디 (73)
      • 코딩테스트 준비 스터디 (65)
    • Koala - 16기 (47)
      • 코딩테스트 기초 스터디 (16)
      • 코딩테스트 심화 스터디 (31)
    • Koala - 17기 (62)
      • 코딩테스트 기초 스터디 (15)
      • 코딩테스트 심화 스터디 (47)
    • Koala - 18기 (31)
      • 코딩테스트 기초 스터디 (11)
      • 코딩테스트 심화 스터디 (20)
    • Koala - 19기 (38)
      • 코딩테스트 기초 스터디 (7)
      • 코딩테스트 심화 스터디 (31)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

  • 🐨항공대 알고리즘 학회 Koala 3기 모집
  • 🐨항공대 알고리즘 학회 Koala 2기 모집
  • 소모임 소개

인기 글

태그

  • BFS
  • 백트래킹
  • C++
  • dp
  • BOJ
  • 파이썬
  • dfs
  • 백준

최근 댓글

최근 글

hELLO · Designed By 정상우.v4.3.0
KauKoala
[백준 14888번] 연산자 끼워넣기
상단으로

티스토리툴바

단축키

내 블로그

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

블로그 게시글

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

모든 영역

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

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