본문 바로가기

알고리즘 (2020 : 08 : 10 ~ )/구현, 시뮬

[백준 / BOJ] 15658 연산자 끼워넣기 (2)

문제

출처 : www.acmicpc.net/problem/15658

 

15658번: 연산자 끼워넣기 (2)

N개의 수로 이루어진 수열 A1, A2, ..., AN이 주어진다. 또, 수와 수 사이에 끼워넣을 수 있는 연산자가 주어진다. 연산자는 덧셈(+), 뺄셈(-), 곱셈(×), 나눗셈(÷)으로만 이루어져 있다. 연산자의 개수�

www.acmicpc.net

N개의 수가 주어지고, +, -, *, /연산자의 갯수가 주어진다.

이때,

N개의 수와 연산자들로 만들수있는 조합중 최댓값과 최솟값을 찾는문제다.

(단, 주어진 수의 순서를 꾸면 안된다.)

 

풀이

백트래킹을 이용한, 구현문제다.

 

연산자와 숫자를 전부 사용하지않고도 최댓값, 최솟값이 나올수있다는 조건을 주의하면서 코딩하자.

 

ope[i] = 연산자 사용가능 남은 횟수

ope[i] = ope[i]-1;

go(~~~~~~);

ope[i] = ope[i]+1;

이런식으로 간단한 백트래킹 기법을 이용해 짜줐다. 

 

소스코드

https://github.com/devxb/JJUNalgo/tree/master/15658%20%EC%97%B0%EC%82%B0%EC%9E%90%20%EB%81%BC%EC%9B%8C%EB%84%A3%EA%B8%B0%20(2)

 

devxb/JJUNalgo

백준 알고리즘 소스코드🙃. Contribute to devxb/JJUNalgo development by creating an account on GitHub.

github.com

 

'알고리즘 (2020 : 08 : 10 ~ ) > 구현, 시뮬' 카테고리의 다른 글

[백준 / BOJ] 3213 피자  (0) 2020.10.05
[백준 / BOJ] 8901 화학 제품  (0) 2020.09.18
[백준 / BOJ] 12933 오리  (0) 2020.09.11
[백준 / BOJ] 5635 생일  (0) 2020.09.09
[백준 / BOJ] 11067 모노톤 길  (0) 2020.09.07