코드트리: 1시간 뒤 시간 출력 (c++)

2024. 4. 19. 13:21·PS

 

 

 


 

문제

h:m 모양의 시간과 분으로 이루어져 있는 시간을 입력받아 1시간 뒤의 시간을 출력하기

 

 

 

 

 

실행 결과

 

 

 

 

 

 

코드(c++)

#include <iostream>
#include <string>
#include <sstream>
using namespace std;

int main() {
  string str;
  cin >> str;
  int h, m;
  stringstream ss(str);
  char colon;
  ss >> h >> colon >> m;

  if (h == 23) {
    h = 0;
  } else {
    h = h + 1;  
  }

  cout << h << ":" << m;

  return 0;
}

 

 

 

 

코드 설명

 

파이썬으로 구현하면 보다 쉽지만, c++의 경우 생각할 게 은근 있는 문제였다..

 

일단 문제에서 가장 핵심은 문자열을 : 라는 문자를 기준으로 분리하는 것이라고 생각했다.

시간이 일의 자리이건, 십의 자리이건 관계없이 해당 콜론을 기준으로 h와 m을 잘라내야만 했다.

따라서 sstream 라이브러리를 이용해 문자열을 분리하여 읽도록 구현했다.

 

입력 예시처럼 2:59와 같은 입력을 받으면 2 / : / 59 이런식으로 처리할 것이다.

즉, 정수 / 문자 / 정수 차례차례 입력 받으므로 각각 h, colon, m 이렇게 받아들인다.

입력 연산자 >>는 스트림에서 값을 읽을 때 해당 변수의 타입과 일치하는 값만 읽기 때문이다.

 

그리고 23시가 넘어가는 경우의 예외처리도 함께 진행했는데

1 ≤ h ≤ 22 라는 조건이 달린 걸 문제를 다 푼 후 발견했다.

다행히 문제는 맞긴 했지만, 항상 문제를 잘 읽고 풀도록 하자.

 


 

문제 출처:

 

코드트리 | 코딩테스트 준비를 위한 알고리즘 정석

국가대표가 만든 코딩 공부의 가이드북 코딩 왕초보부터 꿈의 직장 코테 합격까지, 국가대표가 엄선한 커리큘럼으로 준비해보세요.

www.codetree.ai

 

저작자표시 (새창열림)

'PS' 카테고리의 다른 글

백준 1977번: 완전제곱수  (0) 2024.04.23
백준 1924번: 2007년  (0) 2024.04.21
코드트리: 소수 (c++)  (0) 2024.04.18
백준 5597번: 과제 안 내신 분..?  (0) 2024.03.15
백준 10828번: 스택  (0) 2023.03.25
'PS' 카테고리의 다른 글
  • 백준 1977번: 완전제곱수
  • 백준 1924번: 2007년
  • 코드트리: 소수 (c++)
  • 백준 5597번: 과제 안 내신 분..?
abyss-s
abyss-s
프론트엔드 개발합니다!
  • abyss-s
    abyss-s의 블로그입니다.
    abyss-s
  • 전체
    오늘
    어제
    • 분류 전체보기 (195)
      • Web (17)
        • JavaScript (6)
        • TypeScript (1)
        • React (6)
        • Vue (0)
        • Storybook (1)
        • Next.js (1)
      • Backend & Infra (8)
        • Database (3)
        • Node.js (2)
        • SpringBoot (1)
      • PS (71)
      • CS (30)
        • OS (13)
        • Structure & Algorithm (5)
        • Network (10)
        • 정보처리기사 (2)
      • Language (18)
        • OOP (1)
        • JAVA (13)
        • C++ (4)
      • Activities (18)
        • 멋쟁이 사자처럼 (2)
        • OSSCA (4)
        • LG U+ URECA (5)
        • Project (2)
        • Conference (2)
      • IT (3)
      • AI (0)
      • Git & Github (5)
      • Notion (1)
      • Statistics (11)
      • Book (5)
      • Diary (1)
      • Game (1)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

    • Github
    • Baekjoon
    • X
    • LinkedIn
  • 공지사항

    • abyss-s의 티스토리에 오신 것을 환영합니다.
  • 인기 글

  • 태그

    통계학
    운영체제
    파이썬
    백준
    BAEKJOON
    코드트리
    Python
    OS
    DP
    Java
    생활코딩
    React
    자바기반응용프로그래밍
    BFS
    JavaScript
    네트워크
    자바스크립트
    ossca
    C++
    그리디
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
abyss-s
코드트리: 1시간 뒤 시간 출력 (c++)
상단으로

티스토리툴바