728x90

📍 고장난 시계

https://www.acmicpc.net/problem/14710

 

 

 

 

정각일 경우 분침의 각도는 0이 가능하지만 시침은 불가능하다. (0시 0분만 가능)

시침은 1시간당 30도씩 커지고 (360/12), 1분당 0.5도씩 커진다. (30/60)

분침은 1분당 6도씩 커진다. (360/60)

 

 


✨ 방법1 ✨

 

 

 

✨ 전체코드 ✨

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 sc = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer st = new StringTokenizer(sc.readLine());
        String answer = "X";

        int hour = Integer.parseInt(st.nextToken());
        int min = Integer.parseInt(st.nextToken());

        if(hour%30 == 0 && min == 0) answer = "O";    // 정각
        if((hour-(min/12))%30 == 0 && min%12 == 0) answer = "O";
        System.out.println(answer);
    }
}

 

 

 

🌀 성능 🌀

  • 메모리 : 14,304 KB
  • 시간 : 112 ms

 

 

 

⚡️ 방법2 ⚡️

 

 

 

⚡️ 전체코드 (lms0806님 코드) ⚡️

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));
        StringTokenizer st = new StringTokenizer(br.readLine());
        
        int x = Integer.parseInt(st.nextToken()), y = Integer.parseInt(st.nextToken());
        
        System.out.print((x % 30) * 12 == y ? "O" : "X");
    }
}

 

 

 

🌀 성능 🌀

  • 메모리 : 11,520 KB
  • 시간 : 68 ms