본문 바로가기

코딩테스트

[JAVA-D3] SWEA 3431 - 준환이의 운동관리

728x90
 

SW Expert Academy

SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!

swexpertacademy.com

 

✅ 문제 요약

최소 운동시간 L, 최대 운동시간 U, 준환이의 운동시간 X가 주어졌을 때

X에 따른 추가 운동시간이나 이미 초과했다면 -1, 제한된 운동시간에 맞췄다면 0을 출력하라

 

🤔 문제 풀이

매우 쉬운 문제였다.

별다른 알고리즘은 필요하지 않았고 L, U, X를 입력 받은 뒤

X가 L보다 작은지, L~U 사잇 값인지 U보다 큰지에 따른 답을 출력하면 됐다.

 

🚨CODE

import java.util.*;
import java.io.*;
 
public class Solution {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
 
        int testCase = Integer.parseInt(br.readLine());
 
        for (int t = 1; t <= testCase; t++) {
            StringTokenizer st = new StringTokenizer(br.readLine());
            int l = Integer.parseInt(st.nextToken()); // l이상
            int u = Integer.parseInt(st.nextToken()); // u이하
            int x = Integer.parseInt(st.nextToken()); // 현재 한 운동
             
            StringBuilder sb = new StringBuilder();
 
            if(x < l) {
                sb.append(l-x);
            }else if(l<= x && x<=u) {
                sb.append(0);
            }else {
                sb.append(-1);
            }
            bw.write(String.format("#%d %s\n", t, sb.toString()));
        }
         
        bw.flush();
    }
}
728x90
반응형