문제 요약
일반 시간을 군대 시간으로 변경하기.
Sample Input
07:05:45PM
Sample Output
19:05:45
내 소스
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
class Solution {
static string timeConversion(string s) {
// Complete this function
string time = s.Substring(0, 8);
string timeFormat = s.Substring(8);
string[] timeSplit = time.Split(':');
int hour = 0;
if (timeFormat == "PM")
{
hour = Convert.ToInt32(timeSplit[0]) + 12;
if (hour == 24)
{
hour = 12;
}
}
else
{
hour = Convert.ToInt32(timeSplit[0]);
if (hour == 12)
{
hour = 0;
}
}
return string.Format("{0:00}:{1:00}:{2:00}", hour, timeSplit[1], timeSplit[2]);
}
static void Main(String[] args) {
string s = Console.ReadLine();
string result = timeConversion(s);
Console.WriteLine(result);
}
}
vatsalchanana의 답안
#include<iostream>
#include<cstdio>
using namespace std;
int main() {
string s;
cin >> s;
int n = s.length();
int hh, mm, ss;
hh = (s[0] - '0') * 10 + (s[1] - '0');
mm = (s[3] - '0') * 10 + (s[4] - '0');
ss = (s[6] - '0') * 10 + (s[7] - '0');
if (hh < 12 && s[8] == 'P') hh += 12;
if (hh == 12 && s[8] == 'A') hh = 0;
printf("%02d:%02d:%02d\n", hh, mm, ss);
return 0;
}
Jashin의 답안
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String time = scan.next();
String tArr[] = time.split(":");
String AmPm = tArr[2].substring(2,4);
int hh,mm,ss;
hh = Integer.parseInt(tArr[0]);
mm = Integer.parseInt(tArr[1]);
ss = Integer.parseInt(tArr[2].substring(0,2));
String checkPM = "PM",checkAM ="AM";
int h = hh;
if(AmPm.equals(checkAM) && hh==12)
h=0;
else if(AmPm.equals(checkPM)&& hh<12)
h+=12;
System.out.printf("%02d:%02d:%02d",h,mm,ss);
}
느낀점
AM, PM을 군대 시간으로 바꾸는 문제이다.