Problem Solving/Baekjoon
[백준] 10162 전자레인지 - Greedy / Java
graycode
2022. 11. 14. 18:46
• 문제 링크
10162번: 전자레인지
3개의 시간조절용 버튼 A B C가 달린 전자레인지가 있다. 각 버튼마다 일정한 시간이 지정되어 있어 해당 버튼을 한번 누를 때마다 그 시간이 동작시간에 더해진다. 버튼 A, B, C에 지정된 시간은
www.acmicpc.net
• 풀이 과정
각 버튼 당 동작 시간 300, 60, 10 을 큰 순서대로 입력값 t 로 나눈 나머지를 구해 t를 갱신하고,
각각의 몫을 StringBuilder 에 더하여 정답으로써 출력한다.
만약 t 를 10으로 나눈 나머지가 0이 아닐 시 어떠한 버튼으로도 정확히 나누어 떨어지지 않으므로 -1 을 출력한다.
• 풀이 코드
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
public class Main {
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 t = Integer.parseInt(br.readLine());
if (t % 10 != 0)
bw.write("-1");
else {
StringBuilder sb = new StringBuilder();
sb.append(t / 300 + " ");
t %= 300;
sb.append(t / 60 + " ");
t %= 60;
sb.append(t / 10 + " ");
bw.write(sb.toString());
}
bw.flush();
}
}