You are given a time T in 24-hour format (hh:mm) and a positive integer K, you have to tell the time after K minutes in 24-hour time.
Examples:
Input: T = 12:43, K = 21 Output: 13:04 Input: T = 20:39, K = 534 Output: 05:33
Approach:
- Convert the given time in minutes
- Add K to it let it be equal to M.
- Convert the M minutes in 24 hours format accordingly.
C++
#include <bits/stdc++.h> using namespace std; // function to obtain the new time void findTime(string T, int K) { // convert the given time in minutes int minutes = ((T[0] - '0' ) * 10 + T[1] - '0' ) * 60 + ((T[3] - '0' ) * 10 + T[4] - '0' ); // Add K to current minutes minutes += K; // Obtain the new hour // and new minutes from minutes int hour = (minutes / 60) % 24; int min = minutes % 60; // Print the hour in appropriate format if (hour < 10) { cout << 0 << hour << ":" ; } else { cout << hour << ":" ; } // Print the minute in appropriate format if (min < 10) { cout << 0 << min; } else { cout << min; } } // Driver code int main() { string T = "21:39" ; int K = 43; findTime(T, K); } |
Java
// Java program of above approach class GfG { // function to obtain the new time static void findTime(String T, int K) { // convert the given time in minutes int minutes = ((T.charAt( 0 ) - '0' ) * 10 + T.charAt( 1 ) - '0' ) * 60 + ((T.charAt( 3 ) - '0' ) * 10 + T.charAt( 4 ) - '0' ); // Add K to current minutes minutes += K; // Obtain the new hour // and new minutes from minutes int hour = (minutes / 60 ) % 24 ; int min = minutes % 60 ; // Print the hour in appropriate format if (hour < 10 ) { System.out.print( "0" + hour + ":" ); } else { System.out.print(hour + ":" ); } // Print the minute in appropriate format if (min < 10 ) { System.out.println( "0" + min); } else { System.out.println(min); } } // Driver code public static void main(String[] args) { String T = "21:39" ; int K = 43 ; findTime(T, K); } } // This code is contributed by Prerna Saini |
Python3
# Python3 program for given approach # function to obtain the new time def findTime(T, K): # convert the given time in minutes minutes = ((( ord (T[ 0 ]) - ord ( '0' )) * 10 + ord (T[ 1 ]) - ord ( '0' )) * 60 + (( ord (T[ 3 ]) - ord ( '0' )) * 10 + ord (T[ 4 ]) - ord ( '0' ))); # Add K to current minutes minutes + = K # Obtain the new hour # and new minutes from minutes hour = ( int (minutes / 60 )) % 24 min = minutes % 60 # Print the hour in appropriate format if (hour < 10 ): print ( 0 , hour, ":" , end = " " ) else : print (hour, ":" , end = " " ) # Print the minute in appropriate format if ( min < 10 ): print ( 0 , min , end = " " ) else : print ( min ,end = " " ) # Driver code if __name__ = = '__main__' : T = "21:39" K = 43 findTime(T, K) # This code is contributed by # Surendra_Gangwar |
C#
// C# program of above approach using System; class GfG { // function to obtain the new time static void findTime( string T, int K) { // convert the given time in minutes int minutes = ((T[0] - '0' ) * 10 + T[1] - '0' ) * 60 + ((T[3] - '0' ) * 10 + T[4] - '0' ); // Add K to current minutes minutes += K; // Obtain the new hour // and new minutes from minutes int hour = (minutes / 60) % 24; int min = minutes % 60; // Print the hour in appropriate format if (hour < 10) { Console.Write( "0" + hour + ":" ); } else { Console.Write(hour + ":" ); } // Print the minute in appropriate format if (min < 10) { Console.Write( "0" + min); } else { Console.Write(min); } } // function to obtain the new time // Driver code public static void Main() { string T = "21:39" ; int K = 43; findTime(T, K); } } // This code is contributed by ihritik |
PHP
<?php // PHP program of above approach // function to obtain the new time function findTime( $T , $K ) { // convert the given time in minutes $minutes = (( $T [0] - '0' ) * 10 + $T [1] - '0' ) * 60 + (( $T [3] - '0' ) * 10 + $T [4] - '0' ); // Add K to current minutes $minutes += $K ; // Obtain the new hour // and new minutes from minutes $hour = (int)( $minutes / 60) % 24; $min = $minutes % 60; // Print the hour in appropriate format if ( $hour < 10) { echo 0 . $hour . ":" ; } else { echo $hour . ":" ; } // Print the minute in appropriate format if ( $min < 10) { echo 0 . $min ; } else { echo $min ; } } // Driver code $T = "21:39" ; $K = 43; findTime( $T , $K ); // This code is contributed by Akanksha Rai ?> |
Javascript
<script> // Javascript program of above approach // function to obtain the new time function findTime(T, K) { // convert the given time in minutes var minutes = ((Number(T[0]) - '0' ) * 10 + Number(T[1]) - '0' ) * 60 + (( Number(T[3]) - '0' ) * 10 + Number(T[4]) - '0' ) ; // Add K to current minutes minutes += K; // Obtain the new hour // and new minutes from minutes var hour = (minutes / 60) % 24; var min = minutes % 60; // Print the hour in appropriate format if (hour < 10) { document.write( "0" + hour + ":" ); } else { document.write(hour.toFixed() + ":" ); } // Print the minute in appropriate format if (min < 10) { document.write( "0" + min); } else { document.write(min); } } // function to obtain the new time // Driver code var T = "21:39" ; var K = 43; findTime(T, K); </script> |
Output:
22:22
Time Complexity: O(1)
Auxiliary Space: O(1)
Ready to dive in? Explore our Free Demo Content and join our DSA course, trusted by over 100,000 neveropen!