승균이는 매일 학교, PC방, 학원에 다닌다. 반복되는 일상에 익숙해진 승균이는 이동시간을 단축해서 PC방에 더 오래 머물고 싶었다. 그래서 스톱워치를 들고 이동할 때마다 기록을 잰 후 집에 가서 분석해보기로 했다.
집에 도착한 승균이는 측정한 결과를 보는 데, 전부 초 단위로 기록되어있다! 맨날 놀기만 해서 총 이동 시간이 몇 분 몇 초인지 계산을 못 하는 승균이를 도와주자.
하루 동안 측정한 결과가 주어지면, 이날의 총 이동 시간이 몇 분 몇 초인지 출력하는 프로그램을 작성하시오.
입력은 총 4줄이며, 한 줄에 하나씩 양의 정수가 적혀있다.
집에 늦게 가면 혼나기 때문에, 총 이동시간은 항상 1 분 0 초 이상 59 분 59 초 이하이다.
총 이동시간 x 분 y 초를 출력한다. 첫 번째 줄에 x를, 두 번째 줄에 y를 출력한다.
주어진 초를 모두 더해서 분 초로 출력하면 된다. 처음 제출했을 때 뭐가 틀렸는지 못 찾았다. 알고보니 부등호실수였다. totalTime<3599를 totalTime<3600으로 고치니 해결 됬다.
import java.io.*;
public class Main {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
//입력 예외처리
try {
int i = 0;
int totalTime = 0;
//4회 입력
while (i < 4) {
totalTime += Integer.parseInt(br.readLine());
i++;
}
br.close();
//조건 계산 및 출력
if (totalTime >= 60 && totalTime < 3600) {
bw.write(Integer.toString(totalTime / 60));
bw.newLine();
bw.write(Integer.toString(totalTime % 60));
}
bw.flush();
bw.close();
} catch (IOException e) {
e.printStackTrace();
}
}
}
결과는
풀었다.
import java.io.*
fun main() {
val br = BufferedReader(InputStreamReader(System.`in`))
val bw = BufferedWriter(OutputStreamWriter(System.out))
try {
//4회 입력
var total = 0
for (i in 0..3){
total+=br.readLine().toInt()
}
br.close()
//출력
if(total>=60 && total<3600){
bw.write((total / 60).toString())
bw.newLine()
bw.write((total%60).toString())
}
bw.flush()
bw.close()
}catch (e: IOException){
e.stackTrace
}
}