[백준] 2884번 - 알람 시계 (파이썬)

2022. 5. 17. 12:53·🎲 알고리즘 공부/백준

📝 문제

>  원래 설정되어 있는 알람을 45분 앞서는 시간으로 바꾸는 것이다. 현재 상근이가 설정한 알람 시각이 주어졌을 때, 창영이의 방법을 사용한다면, 이를 언제로 고쳐야 하는지 구하는 프로그램을 작성하시오.

 

입출력 예시

 

 

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

 

2884번: 알람 시계

상근이는 매일 아침 알람을 듣고 일어난다. 알람을 듣고 바로 일어나면 다행이겠지만, 항상 조금만 더 자려는 마음 때문에 매일 학교를 지각하고 있다. 상근이는 모든 방법을 동원해보았지만,

www.acmicpc.net

 

🎨 풀이

💡 성공 코드

import sys

H,M = map(int, sys.stdin.readline().split())

if (M < 45):
    if (H == 0):
        H = 24
    H -= 1
    M = M + 60 - 45

else :                  # (M이 45보다 같거나 큰 경우)
    M = M - 45

print(H,M)

> 이 문제도 범위를 잘 나눠서 계산해주면 되는 문제다.

 

1. M이 45보다 작은 경우 

  1-2. H가 0일 때 ( = H도 0이고 M도 45보다 작은 경우) 

     - H를 24로 바꾼다. 

  1-3. H에서 1을 빼주고, M에는 +60 - 45를 한다.

 

2. M이 45와 같거나 45보다 큰 경우

  - M에서 45를 빼준다.

 

3. 그대로 print 한다.

 

💡 실패 코드

import sys

H,M = map(int, sys.stdin.readline().split())

if (H == 0):
    H = 24
    
if (M < 45):
    H -= 1
    M = M + 60 - 45   
else :                  # (M이 45보다 같거나 큰 경우)
    M = M - 45
    
print(H,M)

> 맨 처음에 썼던 코드다.

 - H를 먼저 24로 바꿔준 후 계산을 하도록 하는 코드인데, 이 코드를 작성하면서 한 가지 경우를 생각하지 못한게 실패로 이어졌다.

 - H가 0이고, M이 45보다 큰 경우에는 이 코드가 내 의도와는 다르게 동작했다.

 - 예를 들면, H가 0이고 M이 57일 때 이 코드를 실행시키면 24 12가 나온다.

 - 그래서 실패한 거였다. ㅎㅎ. 그래서 M이 45보다 작을 때만 H == 0 조건문을 돌도록 안에 넣어주었더니 위의 성공 코드와 같이 성공했다. 

 

​끝~

 

 

⭐ 느낀점

 

> 왜 틀리는 건지 이해가 좀 안되고 있었는데, 그래도 해결법을 찾아서 기분이 좋다. 코드 계속 보고있었는데, 갑자기 딱 생각이 나더라.ㅎㅎ 틀린 걸 발견했을 때 기분이 너무너무 좋았다. 이런 날만 계속 있으면 얼마나 좋을까?

 

 

 

 

 

'🎲 알고리즘 공부 > 백준' 카테고리의 다른 글

[백준] 2739번 - 구구단 (파이썬)  (0) 2022.05.19
[백준] 2525번 - 오븐 시계 (파이썬)  (0) 2022.05.18
[백준] 2480번 - 주사위 세개 (파이썬)  (0) 2022.05.16
[백준] 14681번 - 사분면 고르기 (파이썬)  (0) 2022.05.15
[알고리즘] 백준 - 11653 소인수분해  (1) 2022.01.17
'🎲 알고리즘 공부/백준' 카테고리의 다른 글
  • [백준] 2739번 - 구구단 (파이썬)
  • [백준] 2525번 - 오븐 시계 (파이썬)
  • [백준] 2480번 - 주사위 세개 (파이썬)
  • [백준] 14681번 - 사분면 고르기 (파이썬)
듬듬
듬듬
  • 듬듬
    두드림
    듬듬
  • 전체
    오늘
    어제
    • 분류 전체보기 (267)
      • 📑 신입일기 (35)
      • 🎲 알고리즘 공부 (192)
        • 프로그래머스 (76)
        • 백준 (96)
        • 코드업 (19)
      • 📘 독서 (0)
      • 💌 일상 (12)
        • 일상 (5)
        • 기록 (7)
      • 📜 자격증 (2)
        • 정보처리기사 (2)
      • 학교 공부 (20)
        • ICT 개론 (14)
        • 리눅스 (6)
      • ChatGPT 랑 놀기 (0)
  • 블로그 메뉴

    • 홈
    • 방명록
    • 글쓰기
  • 링크

    • 깃허브
  • 공지사항

  • 인기 글

  • 태그

    스프링부트
    찬양추천
    카카오
    코테
    정보처리기사
    정처기
    티스토리챌린지
    백준
    오블완
    프로그래머스
    연습문제
    행렬덧셈
    스프링 부트
    충무로
    코린이
    오버워치
    파이썬
    nodejs
    50문답
    일기
    신입일기
    컨텐더스
    피보나치수
    til
    코민이
    폰켓몬
    6월 목표
    codeup
    BOJ
    코드업
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
듬듬
[백준] 2884번 - 알람 시계 (파이썬)
상단으로

티스토리툴바