β λ¬Έμ
μ λ ₯ν μκ° κΈ°μ€μΌλ‘ 45λΆ μ μ λͺμ λͺ λΆμΈμ§ μΆλ ₯νλ νλ‘κ·Έλ¨ μ§κΈ°
βπ₯ μ λ ₯
첫째 μ€μ λ μ μ Hμ Mμ΄ μ£Όμ΄μ§λ€. (0 ≤ H ≤ 23, 0 ≤ M ≤ 59)
κ·Έλ¦¬κ³ μ΄κ²μ νμ¬ μκ·Όμ΄κ° μ€μ ν μλ μκ° Hμ MλΆμ μλ―Ένλ€.
β
μ λ ₯ μκ°μ 24μκ° ννμ μ¬μ©νλ€.
24μκ° ννμμ βν루μ μμμ 0:0(μμ )μ΄κ³ ,
λμ 23:59(λ€μλ μμ 1λΆ μ )μ΄λ€. μκ°μ λνλΌ λ, λΆνμν 0μ μ¬μ©νμ§ μλλ€.
βπ₯ μΆλ ₯
첫째 μ€μ μκ·Όμ΄κ° μ°½μμ΄μ λ°©λ²μ μ¬μ©ν λ, μ€μ ν΄μΌ νλ μλ μκ°μ μΆλ ₯νλ€.
β
π‘ νμ΄
βScanner λ‘ μ λ ₯λ°μμ μ°μ°νλ λ²κ³Ό BufferedReader λ‘ μ λ ₯λ°μμ μ°μ°νλ λ°©λ²
λ κ°μ§λ‘ λ¬Έμ λ₯Ό ν΄κ²°νμλ€.
μκ³ λ¦¬μ¦ μ κ·Όλ²
β
1. μ λ ₯λ°μ λΆ(min)μ΄ 45λΆλ³΄λ€ μμΌλ©΄ μ(hour)μμ 1μ λΉΌμ€μΌ νλ€.
β
1-1. 0μμμ -1μ νλ κ²½μ°λ μ(hour)κ° -1μ΄ λκΈ° λλ¬Έμ μ(hour)λ₯Ό 23μΌλ‘ κ³ μ³μ€λ€.
β
2. 45λΆλ³΄λ€ ν° κ²½μ°μλ μ(hour)λ κ·Έλλ‘μ΄κ³ μ λ ₯λ°μ λΆ(min)μ 45λ₯Ό λΉΌμ£Όλ©΄ λλ€.
β
μ μκ³ λ¦¬μ¦μμ μ λ ₯κ°μ΄ 45λ³΄λ€ μμ κ²½μ° 60μμ (45-μ λ ₯κ°)μ λΉΌμ€λ€.
β 1. Scanner λ₯Ό μ΄μ©ν νμ΄
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int hour = sc.nextInt();
int min = sc.nextInt();
sc.close();
if(min < 45) {
hour--; // μ(hour) 1 κ°μ
min= 60 - (45 - min); // λΆ(min) κ°μ
if(hour < 0) {
hour = 23;
}
System.out.println(hour + " " + min);
}
else {
System.out.println(hour + " " + (min - 45));
}
}
}
β 2. BufferedReader λ₯Ό μ΄μ©ν νμ΄
BufferedReaderμ μ°λ©΄ readLine()μΌλ‘ μ λ ₯μ λ°κ² λλλ° readLine() ν μ€μ λ€ μ½μ΄μ€κΈ° λλ¬Έμ 곡백μ μ¬μ΄μ λκ³ μ λ ₯ν λ¬Έμμ΄μ 곡백μ κΈ°μ€μΌλ‘ λΆλ¦¬ν΄μ£Όμ΄μΌ νλ€.
β
μ΄ λ, λ¬Έμμ΄ λΆλ¦¬λ₯Ό μν΄ String Tokenizer λλ split()μ μ¬μ©νλ€. μ£Όμν μ μ μ΄ λ©μλλ€μ μ λ ₯μ΄ μ«μλΌλ String νμ μΈ λ¬Έμμ΄λ‘ κ²°κ³Όκ°μ λ°ννκΈ° λλ¬Έμ, λ§μ½ κ²°κ³Όκ°μ int λ³μμ λ΄μ κ³μ°μ μ΄μ©νκΈ° μν΄μλ λ¬Έμμ΄μ intλ‘ νλ³ν(type casting) ν΄μ€μΌ νλ€. μΊμ€ν μ μ¬μ©νλ λ©μλλ Integer.parseInt()
1) String Tokenizer
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
StringTokenizer st = new StringTokenizer(str," ");
int hour = Integer.parseInt(st.nextToken());
int min = Integer.parseInt(st.nextToken());
if(min<45) {
hour--;
min = 60-(45-min);
if(hour<0) hour=23;
} else {
min=min-45;
}
System.out.println(hour+" "+min);
}
}
2) split()
β
String νμ μ λ°°μ΄μ μ μΈν΄μ£Όκ³
br.readLine()μ μ΄μ©νμ¬ λ°μμ¨ λ¬Έμμ΄ ν μ€μ split()μΌλ‘ λΆλ¦¬ν΄μ λ°°μ΄μ μ§μ΄ λ£λλ€.
β
μ΄ λ λ¬Έμμ΄μ λΆλ¦¬νλ κΈ°μ€μ 곡백(μ€νμ΄μ€λ° ν μΉΈ)μ΄κΈ° λλ¬Έμ split(" ")μ΄ λλ€.
β
κ·ΈλΌ κ³΅λ°± μ λ€μ μλ λ¬Έμμ΄μ΄ λ°°μ΄μ κ° μΉΈμ μμλλ‘ λ΄κΈ°κ² λκ³
Integer.parseInt()λ₯Ό μ¬μ©νμ¬ λ°°μ΄μμ κΊΌλ΄μ¨ λ¬Έμμ΄μ intλ‘ νλ³ν ν΄μ€λ€.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String[] str = br.readLine().split(" ");
int hour = Integer.parseInt(str[0]);
int min = Integer.parseInt(str[1]);
if(min<45) {
hour--;
min = 60-(45-min);
if(hour<0) hour=23;
} else {
min=min-45;
}
System.out.println(hour+" "+min);
}
}
'Algorithm > BaekJoon' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€] 2480λ² μ£Όμ¬μ μΈ κ° - μλ°/java (0) | 2024.04.08 |
---|---|
[λ°±μ€] 2525λ² μ€λΈ μκ³ - μλ° / java (0) | 2024.04.04 |
[λ°±μ€] 14681λ² μ¬λΆλ©΄ κ³ λ₯΄κΈ° - μλ° / java (0) | 2024.04.04 |
[λ°±μ€] 2753λ² μ€λ - μλ° / java (0) | 2024.04.04 |
[λ°±μ€] 9498λ² μνμ±μ - μλ° / java (0) | 2024.04.04 |