Development/알고리즘
[ 백준 알고리즘 ] 2884번 알람 시계 (JAVA/python)
Jin’s
2020. 4. 24. 15:43
반응형
안녕하세요 Jin's 입니다.
백준 알고리즘로 단계별로 풀어보기의 두번째 목차인
if문 마지막 문제인 알람 시계 ( 문제 번호 : 2884 )의 소스입니다.
Java와 Python 두가지 버전 소스입니다.
[ 추가 테스트 케이스 ]
* 0 50 -> 0 5
* 1 45 -> 1 0
1) JAVA
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
int H = scan.nextInt();
int M = scan.nextInt();
scan.close();
if(M -45 > -1){
M -= 45;
}else{
H --;
M += 15;
}
if(H == -1){
H = 23;
}
System.out.println(H+" "+M);
}
}
2) PYTHON
* 시간계산을 -45분 or + 15분으로 해서 계산할 수도 있지만 datetime을 사용해보고 싶어 사용해봄
메모리는 37644KB / 시간은 156ms 걸렸고 같은python으로 하신 분들은 메모리는 29380KB / 시간은 64ms가
걸린 것으로 보아 datetime으로 하는 것 보다는 직접 계산을 하는게 메모리나 시간이 덜 걸리는 것 같다.
import datetime
H, M = input().split()
if int(H) < 10:
H = '0' + str(H)
time = datetime.datetime.strptime(H+M, '%H%M') - datetime.timedelta(minutes=45)
print(time.timetuple().tm_hour, time.minute)
여러분도 한번 풀어보세요!
반응형