👀 문제 설명
로그인해야 문제를 볼 수 있다.
✍🏻풀이
속도를 저장하는 변수를 사용한다.
1초마다 속도 상태를 입력받으므로, 속도 상태를 입력받아 0일 경우, 가만히 두고, 1일 경우 기존의 속도에 가속도값을 더하고, 2일 경우 기존 속도에 가속도 값을 빼주면 된다.
그리고 매 초 이동한 거리를 ans에 더해준다. (거 = 속 x 시)
코드
package swea;
// 가랏! RC카! (https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PjMgaALgDFAUq&categoryId=AV5PjMgaALgDFAUq&categoryType=CODE&problemTitle=%EA%B0%80%EB%9E%8F&orderBy=FIRST_REG_DATETIME&selectCodeLang=ALL&select-1=&pageSize=10&pageIndex=1 )
import java.util.*;
import java.io.*;
public class SWEA_1940 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st;
int T;
T = Integer.parseInt(br.readLine());
for (int tc = 1; tc <= T; tc++) {
int N = Integer.parseInt(br.readLine());
int v = 0;
int ans = 0;
for (int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine());
switch (Integer.parseInt(st.nextToken())) {
case 0:
break;
case 1:
v += Integer.parseInt(st.nextToken());
break;
case 2:
v -= Integer.parseInt(st.nextToken());
break;
}
if (v < 0) v = 0;
ans += v;
}
bw.write("#" + tc + " " + ans);
bw.newLine();
}
bw.flush();
bw.close();
}
}
'숨막히는 알고말고 > 문제 풀이' 카테고리의 다른 글
[SWEA] 규영이와 인영이의 카드게임 (0) | 2021.08.12 |
---|---|
[SWEA] 햄버거 다이어트 (0) | 2021.08.09 |
[Baekjoon] 수 찾기 (0) | 2021.08.08 |
[Baekjoon] 소수 찾기 (0) | 2021.08.08 |
[Baekjoon] 체스판 다시 칠하기 (0) | 2021.08.08 |