250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 여행 #
- 배낭여행
- 실비용
- 이탈리아
- 유럽
- 메시지 큐
- 유럽여행
- 일정
- JAVA #언어 #프로그래밍 #코딩 #static #정적함수 #정적변수 #클래스
- 예약
- 리눅스
- 준비
- 1달살기
- 내심정
- 샐러리
- 파이썬
- 여행
- 계획
- JAVA #객체지향 #프로그래밍 #언어 #IT #기초
- 겨울
- 서버
- RabbitMQ
- JAVA #언어 #프로그래밍 #IT #개발 #코딩
- 영국
- ip
- 경험
- 추억
- IT
- #DB#SQLD#자격증
- 인프라
Archives
- Today
- Total
YoonWould!!
[삼성SWTest준비]14888번 연산자 끼워넣기 본문
728x90
URL : https://www.acmicpc.net/problem/14888
삼성SW 기출 문제 한 번에 보기 : https://www.acmicpc.net/workbook/view/1152
삼성 SW 역량평가 기출문제 어떻게 풀지?
먼저, 문제를 보고 역시나 트리 형식을 떠올렸습니다.
1,2,3,4,5,6 이 있을 때 연산자 우선순위에 상관없는 조건 때문에 1 과 2 사이에 들어 갈 수 있는 연산자만 신경쓰면 되기에 트리를 통해서 모든 경우의 수를 돌아보는 방법을 택했습니다.
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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 | /* 14888번 연산자 끼워넣기 브루트 포스 => 트리 형식으로 생각하기 */ #include<iostream> #include<algorithm> #define INF 10000000000 using namespace std; int n; int arr[11]; int cal[4] = { 0 }; int Max = -INF, Min =INF; int Plus, Minus, Mul, Mod; /* function 종료 조건 index가 n과 같아 질때 */ void function(int index, int sum, int plus, int minus, int mul, int mod) { if (index == n) { Max = max(Max, sum); Min = min(Min, sum); } if (plus > 0) function(index + 1, sum + arr[index], plus - 1, minus, mul, mod); // puls 면 index가 돌때마다 1씩 감소하고 sum에 더해준다. if (minus > 0) function(index + 1, sum - arr[index], plus, minus - 1, mul, mod); if (mul > 0) function(index + 1, sum * arr[index], plus, minus, mul - 1, mod); if (mod > 0) function(index + 1, sum / arr[index], plus , minus, mul, mod - 1); } int main() { cin >> n; for (int i = 0; i < n; i++) { cin >> arr[i]; } cin >> Plus >> Minus >> Mul >> Mod; function(1, arr[0], Plus, Minus, Mul, Mod); cout << Max << " " << Min; return 0; } | cs |
728x90
'<SW> > 알고리즘 + 자료구조' 카테고리의 다른 글
[백트레킹] 2636번 치즈 (0) | 2018.10.06 |
---|---|
[삼성SWTest준비]14890번 경사로 (0) | 2018.10.01 |
[백트래킹]2583번 영역 구하기 (0) | 2018.09.28 |
[백트래킹]2661번 좋은수열 (0) | 2018.09.26 |
[삼성SWTest준비]14889번 스타트와 링크 (0) | 2018.09.26 |