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
- 11659
- 구간합구하기
- 클라우드에서 도커 실행하기
- 스택
- OOP
- MySQL
- 싱글톤패턴
- 백준 11659
- vm인스턴스생성
- 백준
- 투포인터알고리즘
- String.valueOf()
- 코드스테이츠
- 인텔리제이
- Array.asList
- List.of
- 자바
- java
- 재귀와반복문
- 알고리즘
- 코드스테이츠 백엔드
- Spring Web MVC
- 재귀함수
- GCP
- 코딩테스트
- 버블정렬
- 성능테스트툴
- 프로그래머스
- Spring MVC 구성요소
- Spring MVC 동작원리
Archives
- Today
- Total
순간을 기록으로
[Java] 백준_잃어버린괄호_1541 본문
문제
풀이
최솟값을 구하기 위해서는 가능한 큰 수를 빼야한다는 점을 알고 있는게 포인트였던 문제
더하기로 연결된 피연산자들을 모두 먼저 더한 결과값을 -로 빼주면 최솟값이 된다.
예를들어 100 - 40 + 50 + 74 - 30 + 29 -45 + 43 + 11 이라는 배열이 있다고 가정한다면
100 - (40 + 50 + 74) - (30 + 29) -(45 + 43 + 11) 와 같이 괄호를 쳐야 최솟값이 될 것이다.
괄호란 먼저 연산을 한다는 의미니깐 먼저 합을 계산한 뒤 마지막에 첫 번째 값을 제외한 나머지 값만 빼주면 된다.
크게 보자면 첫 번째로 '-'을 구분자로 하여 문자열을 구분한 다음에 반복을한다
두번째로 현재 문자열을 또 다시 '+'로 나누어 모두 더한 뒤
첫 번째 요소만 더하고 나머지 요소는 빼면 최솟값이 된다.
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
|
package 백준;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
* */
public class 잃어버린괄호_1541 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String input = br.readLine();
int answer = 0;
String[] arr = input.split("-"); // 10, 20+30+40
for (int i=0; i<arr.length; i++) {
int sum = sum(arr[i]);
if (i == 0)
answer += sum;
else
answer -= sum;
}
System.out.println(answer);
}
public static int sum(String str) {
int sum = 0;
String[] numArr = str.split("\\+");
for (String num : numArr) {
sum += Integer.parseInt(num);
}
return sum;
}
}
|
cs |
'Problem Solving' 카테고리의 다른 글
[PS] 경기도에 위치한 식품창고 목록 출력하기 (0) | 2022.11.18 |
---|---|
[LeetCode] Combine Two Tables (0) | 2022.11.11 |
[Java] 백준_수 묶기_1744 (0) | 2022.11.08 |
[LeetCode] Tree Node (0) | 2022.11.08 |
[LeetCode] Employees With Missing Information (0) | 2022.11.08 |
Comments