๋ฌธ์ (์ถ์ฒ: https://www.acmicpc.net/problem/9354)
< It Is Cold >
๋ฌธ์ ํ์ด
๋ค์์๋ถํฐ ํ์ธํ๋ฉด์ A์ด๋ฉด (-), T์ด๋ฉด (+)๋ก ๊ณ์ฐํ๋ค. ์ด๋, ๊ณ์ฐ๊ฐ์ด (-)๊ฐ ๋๋ค๋ฉด 0์ผ๋ก ์ด๊ธฐํํ๋ค.
my solution (Java)
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.StringTokenizer;
public class _9354_ { // It Is Cold
public static void main(String[] args) throws IOException {
BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int t = Integer.parseInt(bf.readLine());
for (int i = 0; i < t; i++) {
int n = Integer.parseInt(bf.readLine());
int arr[] = new int[n];
st = new StringTokenizer(bf.readLine());
for (int j = 0; j < n; j++) {
arr[j] = Integer.parseInt(st.nextToken());
}
st = new StringTokenizer(bf.readLine());
for (int j = 0; j < n; j++) {
char dir = st.nextToken().charAt(0);
if (dir == 'A') {
arr[j] = -arr[j];
}
}
long result = 0;
if (arr[n - 1] > 0) {
result = arr[n - 1];
}
for (int j = n - 2; j >= 0; j--) {
result += arr[j];
if (result < 0) {
result = 0;
}
}
bw.write(result + "\n");
}
bw.flush();
}
}
๋ณ์)
t : ํ์ ์
n : ์ ํ๊ธฐ ๊ฐ์
arr : ์ ํ๊ธฐ ์๋
dir : ์ ํ๊ธฐ ๋ฐฉํฅ
result : ํ์ ๋๋ฌํ๋ ๋ฐ๋์ ์๋
ํ์ ๊ฐ์๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค. ํ์ ๊ฐ์๋งํผ ๋ค์ ๊ณผ์ ์ ๋ฐ๋ณตํ๋ค.
1) ์ ํ๊ธฐ ๊ฐ์๋ฅผ ์ ๋ ฅ๋ฐ๋๋ค.
2) ์ ํ๊ธฐ ๊ฐ์๋งํผ ์ ํ๊ธฐ ์๋์ ๋ฐฉํฅ์ ์ ๋ ฅ๋ฐ๋๋ค. ๋ฐฉํฅ์ด A๋ผ๋ฉด ์๋๋ฅผ ์์๋ก ์ ์ฅํ๋ค.
3) result๋ฅผ 0์ผ๋ก ์ด๊ธฐํํ๊ณ ๋ง์ฝ ๋ง์ง๋ง ์ ํ๊ธฐ์ ์๋๊ฐ ์์๋ผ๋ฉด ๊ฐ์ ์ ๋ฐ์ดํธํ๋ค.
4) ๋ค์์๋ถํฐ ์ ํ๊ธฐ๋ฅผ ํ์ํ๋ฉฐ result์ ์๋๋ฅผ ๋ํ๋ค. ์ด๋, result ๊ฐ์ด ์์๊ฐ ๋๋ค๋ฉด 0์ผ๋ก ์ ๋ฐํธํ๋ค.
5) ์ต์ข result๋ฅผ ์ถ๋ ฅํ๋ค.

'๐Algorithm > ๐ฅBaekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| [Baekjoon] 26934_The Bus Card (0) | 2026.04.09 |
|---|---|
| [Baekjoon] 27041_Leapcow (0) | 2026.04.08 |
| [Baekjoon] 14767_Flow Shop (0) | 2026.04.06 |
| [Baekjoon] 6245_Cow Solitaire (0) | 2026.04.03 |
| [Baekjoon] 9844_Gecko (0) | 2026.04.02 |