saurus2
Saurus2
saurus2
전체 방문자
오늘
어제
  • 분류 전체보기
    • 개발
      • AJAX
    • ML Ops
    • Profile
    • 음식점
    • 배낭여행
    • 컴퓨터공학
      • 알고리즘 공부
      • C++
      • Sever 스터디
      • Java spring
      • 알고리즘 _ 문제해결
      • 딥러닝
      • Java 정리
      • Python
      • LeetCode 1000
      • Machine Learning Study
      • Sign language Detection Pro..
      • LeetCode Solutions
    • 비콘
    • 데일리 리포트
    • 유학일기
      • 영어 공부
      • Daily
    • AI Master Degree
      • Data Mining
      • AI and Data engineering
      • Math Foundations for Decisi..
      • Natural Language Processing

블로그 메뉴

  • 홈
  • 태그
  • 미디어로그
  • 위치로그
  • 방명록

공지사항

인기 글

태그

  • 취업준비
  • 리트코드
  • 취준
  • DFS
  • 릿코드
  • 문제해결능력
  • 백준
  • Python
  • two pointer
  • 딥러닝
  • BFS
  • 온라인저지
  • 파이썬
  • 딕셔너리
  • 알고리즘
  • 개발자
  • LeetCode
  • 알고리즘문제해결
  • 개발자 취업준비
  • c++

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
saurus2

Saurus2

컴퓨터공학/알고리즘 _ 문제해결

1408 24 백준 알고리즘 온라인저지

2016. 12. 26. 21:16

처음에 if 문으로 클때 같을때 작을때 나눠서 시 분 초를 계산하려고 했다.
총 6갈래가 나와서 어려울 것 같다고 판단했다. 초를 계산하고 1분이 깍아지면 분에 영향이 미치도록 했다. 
시간도 같은 방식으로 시 분 초 총 if else 문 3개로 해결했다. 

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



Logo

24 성공

시간 제한메모리 제한제출정답맞은 사람정답 비율
2 초128 MB172873166545.146%

문제

도현이는 Counter Terror Unit (CTU)에서 일하는 특수요원이다. 도현이는 모든 사건을 정확하게 24시간이 되는 순간 해결하는 것으로 유명하다. 도현이는 1시간 만에 범인을 잡을 수 있어도 잡지 않는다. 정확하게 24시간이 되는 순간이 아니면 잡지 않는 CTU 특수요원이다.

2008년 3월 3일 월요일, CTU는 새학기에 맞춰 핵폭탄을 날리겠다는 테러 정보를 입수했다. CTU에서는 특수요원 도현이에게 이 임무를 맡겼다. CTU의 프로그래머 준규는 이 사건의 배후가 김선영이란 것을 해킹을 통해 밝혀내었다.

도현이는 선영이를 임무를 시작한지 정확하게 24시간이 되는 순간에 잡으려고 한다.

만약 지금 시간이 13:52:30이고, 임무를 시작한 시간이 14:00:00 이라면 도현이에게 남은시간은 00:07:30 이다.

모든 시간은 00:00:00 ~ 23:59:59로 표현할 수 있다. 입력과 출력에 주어지는 모든 시간은 XX:XX:XX 형태이며, 숫자가 2자리가 아닐 경우에는 0으로 채운다.

도현이가 임무를 시작한 시간과, 현재 시간이 주어졌을 때, 도현이에게 남은 시간을 구하는 프로그램을 작성하시오.

입력

첫째 줄에는 현재 시간이, 둘째 줄에는 도현이가 임무를 시작한 시간이 주어진다. 임무를 시작한 시간과 현재 시간이 같은 경우는 주어지지 않는다.

출력

첫째 줄에 한 줄에 하나씩 도현이가 임무를 수행하는데 남은 시간을 문제에서 주어지는 시간의 형태 (XX:XX:XX)에 맞춰 출력한다.



#include <iostream>

#include <stdio.h>

#include <stdlib.h>

#include <string.h>

using namespace std;

int main(){

    string t1,t2;

    int h1,m1,s1,h2,m2,s2,h3,m3,s3;

    cin >> t1 >> t2;

    h1 = atoi(&t1[0]);

    m1 = atoi(&t1[3]);

    s1 = atoi(&t1[6]);

   

    h2 = atoi(&t2[0]);

    m2 = atoi(&t2[3]);

    s2 = atoi(&t2[6]);

    

    if(s1<=s2){

        s3 = s2 - s1;

        m3 = m2;

    }else{

        s3 = 60 - s1 + s2;

        m3 = m2-1;

    }

    if(m1<=m3){

        m3 = m3 - m1;

        h3 = h2;

    }else{

        m3 = 60 - m1 + m3;

        h3 = h2-1;

    }

    if(h1<=h3){

        h3 = h3 - h1;

    }else{

        h3 = 24 - h1 + h3;

    }

    printf("%02d:%02d:%02d",h3,m3,s3);

    return 0;

}



저작자표시 (새창열림)

'컴퓨터공학 > 알고리즘 _ 문제해결' 카테고리의 다른 글

10799 쇠막대기 백준 알고리즘 문제 스택  (0) 2017.01.08
1063 king 킹 시뮬레이션 백준 알고리즘 !  (0) 2017.01.04
11653 소인수 분해 문제 백준 알고리즘  (0) 2016.12.22
백준 알고리즘 2934 소음 문제!  (0) 2016.12.22
2163 초콜릿 자르기 Dynamic Programing 백준  (0) 2016.12.21
    '컴퓨터공학/알고리즘 _ 문제해결' 카테고리의 다른 글
    • 10799 쇠막대기 백준 알고리즘 문제 스택
    • 1063 king 킹 시뮬레이션 백준 알고리즘 !
    • 11653 소인수 분해 문제 백준 알고리즘
    • 백준 알고리즘 2934 소음 문제!
    saurus2
    saurus2
    Simple is Best

    티스토리툴바