SMALL
https://softeer.ai/practice/7368
그림상 Lv.2 라고 되어 있지만 Lv.1으로 필터가 되어있는 신기한 문제
다른 Lv.1 문제 보다 조금 난이도가 있는 문제 였다.
문제를 한방에 해결하려고 하지 않고 1초씩 생각하고 총 거리수는 d * 2 로 제한이 있기 때문에 그 안에서 반복과 조건으로 한땀한땀 나아가는 방식으로 천천히 생각했다.
신경써야 하는 부분은 a,b가 교체되는 시점을 잘 생각하면 금방 풀리는것 같다.
import java.io.*;
import java.util.StringTokenizer;
public class Main {
public static int dap = 0;
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
StringTokenizer st = new StringTokenizer(br.readLine(), " ");
// a: 뒤돌아 있는 시간, b: 앞을 바라보고 있는 시간, d: 술래와의 거리
int a = Integer.parseInt(st.nextToken());
int b = Integer.parseInt(st.nextToken());
int d = Integer.parseInt(st.nextToken());
// 이동 거리 게산 변수
int moveDistance = 0;
// 총 이동 거리 만큼 반복
while (moveDistance < d * 2) {
for (int i = 0; i < a; i++) {
moveDistance++;
dap++;
// 술래 터치 및 출발선으로 다시 돌아왔을때 기준으로 a,b 변경
if (moveDistance == d || moveDistance == d * 2) {
int temp = a;
a = b;
b = temp;
break;
}
}
// 앞을 바라 보고 있을 때 흘러가는 시간 체크
if (moveDistance != d && moveDistance != d * 2) {
dap += b;
}
}
bw.write(dap + "\n");
bw.flush();
bw.close();
}
}
'알고리즘 단련장 > 소프티어' 카테고리의 다른 글
[소프티어] Yeah, but How? 레벨2 자바 풀이 (한양대 HCPC 2023) (1) | 2024.10.29 |
---|---|
[소프티어] 진정한 효도 레벨2 자바 풀이 (0) | 2024.10.28 |
[소프티어] 연탄의 크기 레벨2 자바 풀이 (0) | 2024.10.28 |
[소프티어] 나무 공격 레벨2 자바 풀이 (0) | 2024.10.28 |
[소프티어] 레벨1 자바로 풀기 (올솔 후기) (1) | 2024.10.28 |