Notice
Recent Posts
Link
- Today
- Total
hye-log
[SWEA]1940번 가랏! RC카!(JAVA) 본문
0. 문제 링크
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV5PjMgaALgDFAUq
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
1. 문제 설명
1) 0 : 현재 속도 유지 / 1 : 가속 / 2 : 감속의 명령이 주어짐
2) 1 : 가속 / 2: 감속 명령이 주어지면 가속도 값이 추가로 주어짐
3) 1초마다 명령이 실행될 때 RC 카의 이동 거리 구하기
2. 입출력
// input
10
2
1 2
2 1
3
1 1
0
1 1
5
1 2
1 2
2 1
0
0
…
// output
#1 3
#2 4
...
3. 코드
import java.util.*;
public class swea1940 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int T = sc.nextInt(); // 테스트 케이스의 개수
for(int t = 1; t <= T; t++) {
int speed = 0; // 초기 속도
int ans = 0; // 이동한 거리
int N = sc.nextInt(); // command의 수
for(int n = 0; n < N; n++) {
switch(sc.nextInt()) { // 현재 속도 유지 / 가속 / 감속
case 1: // 가속이면 속도 증가
speed += sc.nextInt();
break;
case 2: // 감속이면 속도 감소
speed -= sc.nextInt();
if(speed < 0) speed = 0;
break;
default: // 현재 속도 유지
break;
}
ans += speed; // 거리 계산
}
System.out.printf("#%d %d\n", t, ans);
}
}
}
실행 결과
4. 회고
1) 명령 중에 현재 속도가 유지되면 가속도 값이 주어지지 않으므로 명령에 따라 입력값 받을지 결정
2) 1초마다 실행되므로 거리는 시간 * 속도에 의해 결국 속도 값을 더해줌
5. Github
https://github.com/iihye/Algorithm/blob/main/SWEA/swea1940.java
728x90
'CodingTest > SWEA' 카테고리의 다른 글
[SWEA]1289번 원재의 메모리 복구하기(JAVA) (0) | 2023.07.30 |
---|---|
[SWEA]5432번 쇠막대기 자르기(JAVA) (0) | 2023.07.30 |
[SWEA]1974번 스도쿠 검증(JAVA) (0) | 2023.07.30 |
[SWEA]1208번 Flatten(JAVA) (0) | 2023.07.30 |
[SWEA]1234번 비밀번호(JAVA) (0) | 2023.07.29 |
Comments