1. ๋ด ์ฝ๋
import java.util.*;
class Solution
{
public static void main(String args[])
{
Scanner sc = new Scanner(System.in);
int T = sc.nextInt();
for (int test_case = 1; test_case <= T; test_case++) {
int N = sc.nextInt();
int speed = 0;
int totalDistance= 0;
// ์ฒซ๋ฒ์งธ ์
๋ ฅ์ ๋ฐ๋ผ ๋๋ฒ์งธ ์
๋ ฅ์ ๋ถํธ๊ฐ ๊ฒฐ์ ๋จ.
// 0์ผ ๊ฒฝ์ฐ ๋ ๋ฒ์งธ ์
๋ ฅ์ด ์ฃผ์ด์ง์ง ์๋๋ค.
// N ๋ค์ ์
๋ ฅ์ด ๋ฌด์กฐ๊ฑด 2*N์ ์๋์ง๋ง, line์ N๊ฐ๊ฐ ๋ง๋ค.
sc.nextLine();
// N๊ฐ์ String ๋ฐฐ์ด์ ๋ง๋ค์ด, ๊ทธ ์์ ์
๋ ฅ ๊ฐ๋ค์ ์ง์ด ๋ฃ๋๋ค.
String[] str = new String[N];
// ์์๋ฅผ ๋ชจ๋ split(" ")์ผ๋ก ์ฐข์ด์ ์๋ก์ด ์คํธ๋ง ๋ฐฐ์ด์ ๋ฃ๊ณ ,
// ์๋ก์ด ์คํธ๋ง ๋ฐฐ์ด์ ์ฒซ ์์์ ๋ฐ๋ผ ๋๋ฒ์งธ ์์์ ๋ถํธ๋ฅผ ์ ํด์ speed์ ๋ํ๋ค. -> ๊ฐ์๋ ฅ ์ค๋ฅด๋ด๋ฆผ ํํ
// ๊ฑฐ๋ฆฌ = ์๋ ฅ *์๊ฐ, ์๊ฐ์ 1์ด๋ก default๋ก ์ ํด์ ธ ์์ผ๋ฏ๋ก, ๊ฑฐ๋ฆฌ = ๊ทธ๋ ๊ทธ๋์ ์๋ ฅ์ ๋ํด์ฃผ๋ฉด ๋๋ค.
for (int i = 0; i < N; i++) {
str[i] = sc.nextLine();
String[] splitString = str[i].split(" ");
if(splitString[0].equals("1")){
speed += Integer.parseInt(splitString[1]);
totalDistance += speed;
} else if (splitString[0].equals("2")) {
// ๋ง์ฝ ์๋๊ฐ ์ด๋ฏธ 0์ด๋ผ๋ฉด ๊ฐ์๋๊ฐ ๊ฐ์์ด์ด๋ speed์์ ๋นผ์ง ์๋๋ค.
if(speed != 0) {
speed -= Integer.parseInt(splitString[1]);
}
totalDistance += speed;
} else if (splitString[0].equals("0")) {
// ๊ฐ์๋์ ๋ณ๋์ด ์๋ค๋ฉด ์ด์ ์๋ ๊ทธ๋๋ก ๋ํด๋ฒ๋ฆฐ๋ค.
totalDistance += speed;
}
}
System.out.printf("#%d %d\n", test_case, totalDistance);
}
}
}
๋ด ์ฝ๋๊ฐ ์ด์ง ์ฝ๋ ์๊ฐ ๋ง์ ํธ์ด์ด์ ์ฝ๋ ์๊ฐ ์ ์ ๋ค๋ฅธ ์ฌ๋์ ๊ฒ๋ ํ์ธํด๋ณด์๋ค.
2. ๋ค๋ฅธ ์ฌ๋ ์ฝ๋
import java.util.Scanner;
class Solution
{
public static void main(String args[]) throws Exception
{
Scanner sc = new Scanner(System.in);
int t = sc.nextInt();
for(int i=0; i<t; i++){
int n = sc.nextInt();
int speed = 0;
int result = 0;
for(int j=0; j<n; j++){
int mode = sc.nextInt();
if(mode==1){
speed += sc.nextInt();
}
else if(mode==2){
//maxํจ์๋ ์ธ์๋ก ๋ฐ์ ๋ ๊ฐ ์ค ์ต๋์ธ ๊ฐ์ ๋ฐํํ๋ค.
speed = (int)Math.max(speed - sc.nextInt(),0);
}
result += speed;
}
System.out.printf("#%d %d\n",i+1,result);
}
}
}
๋๋ testcase๋ง๋ค N์ด ์ฃผ์ด์ ธ๋, ๊ทธ ๋ฐ๋ณตํ์๊ฐ ์ผ์ ์น ์์์ ๊ฐ์ sc.nextLine()์ผ๋ก ๋ฐ์์ ์ชผ๊ฐ ํ์ฉํ์์ผ๋,
์ด ๋ถ ๊ฐ์ ๊ฒฝ์ฐ, ๋ง์ฝ ๊ฐ์๋์ธ ์ฒซ ์ ๋ ฅ์ด 1์ด๋ 2์ผ ๊ฒฝ์ฐ ๊ทธ ๋ค์ ์ ๋ ฅ๊น์ง ์ ๊ฒฝ์ฐ๊ณ ๊ทธ๊ฒ ์๋๋ผ๋ฉด ์ ๋ ฅ์ ์ ๊ฒฝ์ฐ์ง ์์๋ค. ์ด๋ ๊ฒ ํ๋ฉด ์ ๋ ฅ๊ฐ์ด testcase๋ง๋ค ์ผ์ ์น ์์๋ ์๊ด์์ด ๋ฌธ์ ๋ฅผ ํ ์ ์๋ค.
๊ตณ์ด N๋ฒ ๋ฐ๋ณตํ๋ ๋ฐ๋ณต๋ฌธ์ ๊ฐ์ ๋ฃ์ด ํ์ด์ผ๊ฒ ๋ค๋ ์๊ฐ์ ๊นจ์ฃผ์ด์ ๊ณ ๋ง๋ค.
๊ทธ ๋ค์์ Max๋ผ๋ ํจ์๋ฅผ ์ด์ฉํด, ๋ด๊ฐ if๋ฌธ์ ์ด ๊ฒ๋ณด๋ค ์ฝ๋ ์๋ฅผ ์ ์ฝํ ๊ฒ ๊ฐ๋ค.