Time Conversion Hackerrank Problem coderinme

Time Conversion

Given a time in 12-hour AM/PM format, convert it to military (24-hour) time.

Note: Midnight is 12:00:00AM on a 12-hour clock, and 00:00:00 on a 24-hour clock. Noon is 12:00:00PM on a 12-hour clock, and 12:00:00 on a 24-hour clock.

Input Format

A single string containing a time in 12-hour clock format (i.e.: hh:mm:ssAM or hh:mm:ssPM), where 01<=hh<=12 and 00<=mm, ss<=59.
Output Format

Convert and print the given time in 24-hour format, where 0<=hh<=23.
Sample Input

07:05:45PM

Sample Output

19:05:45

I Method
#include <math.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <assert.h>
#include <limits.h>
#include <stdbool.h>

int main() {
    int hh, mm, ss ;
    char t12[2];
    scanf("%d:%d:%d%s", &hh, &mm, &ss, t12) ;

    if (strcmp(t12,"PM")==0 && hh!=12) hh += 12 ;
    if (strcmp(t12,"AM")==0 && hh==12) hh = 0 ;

    printf("%02d:%02d:%02d", hh, mm, ss) ;
    return 0;
}
II Method
#include <map>
#include <set>
#include <list>
#include <cmath>
#include <ctime>
#include <deque>
#include <queue>
#include <stack>
#include <string>
#include <bitset>
#include <cstdio>
#include <limits>
#include <vector>
#include <climits>
#include <cstring>
#include <cstdlib>
#include <fstream>
#include <numeric>
#include <sstream>
#include <iostream>
#include <algorithm>
#include <unordered_map>

using namespace std;
int main() {
    string time;
    cin >> time;

    string output = time.substr(0, 8);
    string ampm = time.substr(time.size() - 2);
    string hourString = time.substr(0, 2);

    if (ampm == "PM" && hourString != "12") {
        int hour = stoi(hourString);
        hour = (hour + 12) % 24;

        stringstream ss;
        ss << hour;

        output[0] = ss.str()[0];
        output[1] = ss.str()[1];
    }
    else if (ampm == "AM" && hourString == "12") {
        output[0] = output[1] = '0';
    }

    cout << output;

    return 0;
}

Time Conversion

Competitive coding
Hackerrank problem

A web developer(Front end and Back end), and DBA at csdamu.com. Currently working as Salesforce Developer @ Tech Matrix IT Consulting Private Limited. Check me @about.me/s.saifi

One comment: On Time Conversion Hackerrank Problem coderinme

  • //solution in java
    import java.io.*;
    import java.math.*;
    import java.text.*;
    import java.util.*;
    import java.util.regex.*;

    public class Solution {

    /*
    * Complete the timeConversion function below.
    */
    public static void timeConversion(String s) {
    /*
    * Write your code here.
    */
    String s1[]=s.split(“:”);
    String f=s1[2].substring(2);
    String g=s1[2].substring(0,2);
    int t=0;
    // System.out.println(t);
    if( (f.equals(“PM”)) && ((Integer.parseInt(s1[0]))!=12) ){
    t=Integer.parseInt(s1[0]);
    t=t+12;
    s1[0]=String.valueOf(t);
    }
    if( (f.equals(“AM”)) && ( (Integer.parseInt(s1[0]))==12)){
    // System.out.println(“hello”);

    t=0;
    s1[0]=String.valueOf(t);
    }

    // System.out.printf(“%02d:%02d:%02s”,s1[0],s1[1],t);
    System.out.printf(“%02d:%02d:%02d”,(Integer.parseInt(s1[0])),(Integer.parseInt(s1[1])),(Integer.parseInt(g)));
    }

    private static final Scanner scan = new Scanner(System.in);

    public static void main(String[] args) throws IOException {

    String s = scan.nextLine();

    //String result = timeConversion(s);
    timeConversion(s);

    }
    }

Leave a reply:

Your email address will not be published.