[HackerRank] Time Conversion

原创 2016年05月31日 06:51:46

Problem

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

Input Format

A single string containing a time in 12-hour clock format.

Output Format

Convert and print the given time in 24-hour format.

Sample Input

07:05:45PM

Sample Output

19:05:45

Solution

1. using char[]

import java.io.*;
import java.util.*;

public class Solution {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.next();
        char[] ch = str.toCharArray();
        char[] res = Arrays.copyOfRange(ch, 0, 8);

        if(ch[8] == 'A' && str.substring(0,2).equals("12")) {
            res[0] = '0';
            res[1] = '0';
        }
        else if(ch[8] =='P' && !str.substring(0,2).equals("12")) {
            String hour = "" + (Integer.parseInt(str.substring(0,2)) + 12);
            char[] h = hour.toCharArray();
            res[0] = h[0];
            res[1] = h[1];
        }
        System.out.println(res);
    }
}

2. using StringBuilder()

import java.io.*;
import java.util.*;

public class Solution {
    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        String str = in.next();
        char[] inChar = str.toCharArray();
        StringBuilder sb = new StringBuilder();

        if(str.charAt(8) == 'A' && str.substring(0,2).equals("12")) {
            sb.append("00");
            sb.append(str.substring(2, 8));
        }
        else if(str.charAt(8) =='P' && !str.substring(0,2).equals("12")) {

            String s = "" + (Integer.parseInt(str.substring(0,2)) + 12);
            sb.append(s);
            sb.append(str.substring(2, 8));
        }
        else sb.append(str.substring(0, 8));
        System.out.println(sb.toString());
    }
}

HackerRank Weekly Challenges - Week 6: Minimum Average Waiting Time 停不下来的厨师

原题链接:Minimum Average Waiting Time 题目大意:

pyschools中的12hr To 24hr Time Conversion

>>> time24hr('12:34am') '0034hr' >>> time24hr('12:15pm') '1215hr'#下午时间有可能是‘1:45pm’所以要对根据字符串...

昨日参加hackerrank一比赛总结

昨天第一次参加hackerrank的某比赛,从中午11点做到了晚上12点,最后太累,在比赛结束前一小时睡觉去了。完全通过了前两道题,第三题对于某句话始终未能正确理解,所以该题大部分test case不...
  • bxprog
  • bxprog
  • 2016年01月31日 08:20
  • 1007

房价预测(HackerRank)

从今天开始要多做一些关于机器学习方面的竞赛题目,题目来源主要是Hackerrank和Kaggle。...

【HackerRank】Jumping Rooks(最小费用最大流)

【HackerRank】Jumping Rooks(最小费用最大流)题目大意: 一个n*n的地图,’#’为山峰,’.’为可用位置。 要放置k个士兵在’.’上,已知每个士兵会攻击同行和同列中能看到的...

【HackerRank】Functional Palindromes(回文树+后缀数组+lcp排序+字符串哈希+二分)

【HackerRank】Functional Palindromes(回文树+后缀数组+lcp排序+字符串哈希+二分)这个页面抓不太好,大家点进去看吧~~做过的用到数据结构+算法最多的一个题……真真是...

【HackerRank】Common Child (LCS)最长公共子序列

Given two strings a and b of equal length, what’s the longest string (S) that can be constructed suc...

hackerrank challenges median

题目链接 Median dynamic Max Score: 67 The median of M numbers is defined as the ...
  • xindoo
  • xindoo
  • 2013年04月09日 20:42
  • 873

【Hackerrank】Merge two sorted linked lists

This challenge is part of a tutorial track by MyCodeSchool You’re given the pointer to the head n...

HackerRank Self Balancing Tree(AVL树)

题目链接 /* Node is defined as : typedef struct node { int val; struct node* left; struct n...
  • xhf0374
  • xhf0374
  • 2015年12月19日 22:21
  • 229
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:[HackerRank] Time Conversion
举报原因:
原因补充:

(最多只允许输入30个字)