안녕하세요 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)
여러분도 한번 풀어보세요!
'Development > 알고리즘' 카테고리의 다른 글
[ 백준 알고리즘 ] 10950번 A+B - 3 (JAVA/python) (0) | 2020.04.27 |
---|---|
[ 백준 알고리즘 ] 2739번 구구단 (JAVA/python) (0) | 2020.04.27 |
[ 백준 알고리즘 ] 14681번 사분면 고르기 (JAVA/python) (0) | 2020.04.23 |
[ 백준 알고리즘 ] 2753번 윤년 (JAVA/python) (0) | 2020.04.23 |
[ 백준 알고리즘 ] 9498번 시험 성적 (JAVA/python) (0) | 2020.04.23 |