๐ŸŒžAlgorithm/๐Ÿ”ฅBaekjoon

[Baekjoon] 9354_It Is Cold

๋ฟŒ์•ผ._. 2026. 4. 10. 16:05
๋ฌธ์ œ(์ถœ์ฒ˜: 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