![[백준 / BOJ] 2884번 알람 시계 (C++, Python)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcwOhab%2FbtrLJLD5Hi1%2FdbODIXeE1NbkmEKy9s1Av0%2Fimg.jpg)
[백준 / BOJ] 2884번 알람 시계 (C++, Python)◎ 자료구조와 알고리즘/백준(BOJ) 문제풀이2021. 8. 22. 22:10
반응형
링크 : https://www.acmicpc.net/problem/2884
2884번: 알람 시계
상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만,
www.acmicpc.net
문제

문제 풀이
간단한? 수학 문제다. 사실 처음에 많이 헷갈렸는데 경우의 수를 쓰면서 풀었다. 45분보다 작을 때 신경써서 시, 분을 바꾸면 된다.
코드 전문
C++
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <iostream> | |
int main() | |
{ | |
int x, y; | |
std::cin >> x >> y; | |
if (y < 45) // 만약 분이 45보다 작다면 시 부분을 바꿔야 한다. | |
{ | |
y = 60 - 45 + y; // y를 남은 시간으로 바꾸어 줌. | |
x = (x + 24 - 1) % 24; // x가 음수가 나오면 안되므로 나머지 연산 이용한다. | |
std::cout << x << " " << y; | |
} | |
else | |
std::cout << x << " " << y - 45; | |
return 0; | |
} |
Python
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
x, y = map(int, input().split()) | |
if y < 45: # 만약 분이 45보다 작다면 시 부분을 바꿔야 한다. | |
y = 60 - 45 + y # y를 남은 시간으로 바꾸어 줌. | |
x = (x + 24 - 1) % 24 # x가 음수가 나오면 안되므로 나머지 연산 이용한다. | |
print(f"{x} {y}") | |
else: | |
print(f"{x} {y - 45}") |
소감
반응형
'◎ 자료구조와 알고리즘 > 백준(BOJ) 문제풀이' 카테고리의 다른 글
[백준 / BOJ] 10950번 A+B - 3 (C++, Python) (0) | 2021.08.22 |
---|---|
[백준 / BOJ] 2739번 구구단 (C++, Python) (0) | 2021.08.22 |
[백준 / BOJ] 14681번 사분면 고르기 (C++, Python) (0) | 2021.08.22 |
[백준 / BOJ] 2753번 윤년 (C++, Python) (0) | 2021.08.21 |
[백준 / BOJ] 9498번 시험 성적 (C++, Python) (0) | 2021.08.21 |
@Reo :: 코드 아카이브
자기계발 블로그