입력
첫째 줄에 두 정수 H와 M이 주어진다. (0 ≤ H ≤ 23, 0 ≤ M ≤ 59) 그리고 이것은 현재 상근이가 설정한 놓은 알람 시간 H시 M분을 의미한다.
입력 시간은 24시간 표현을 사용한다. 24시간 표현에서 하루의 시작은 0:0(자정)이고, 끝은 23:59(다음날 자정 1분 전)이다. 시간을 나타낼 때, 불필요한 0은 사용하지 않는다.
출력
첫째 줄에 상근이가 창영이의 방법을 사용할 때, 설정해야 하는 알람 시간을 출력한다. (입력과 같은 형태로 출력하면 된다.)
예제 입력 1
10 10
예제 출력 1
9 25
내 방식
using System;
namespace Baekjoon
{
class Program
{
static void Main(string[] args)
{
string[] HM = Console.ReadLine().Split(' ');
int H = Convert.ToInt32(HM[0]);
int M = Convert.ToInt32(HM[1]);
int h = 0;
int m = 0;
if (M >= 45)
{
m = M - 45;
h = H;
}
else
{
m = 60 - (45 - M);
h = H == 0 ? 23 : (H - 1);
}
Console.WriteLine(h + " " + m);
}
}
}
짧은 코딩
DateTime dt = DateTime.ParseExact(Console.ReadLine(), "H m", null).AddMinutes(-45);
Console.Write("{0} {1}", dt.Hour, dt.Minute);
DateTime 정리
DateTime.ParseExact(dateString, format, provider)
dateString = "18/08/2015 06:30:15.006542"; 은 대충 이런 느낌.
Format
종류 | format | 의미 | 예시 |
연도 | y | 한 자리 연도 | 2 2 |
yy | 두 자리 연도 | 22 02 | |
yyyy | 네 자리 연도 | 2022 2002 | |
월 | M | 한 자리 또는 두 자리 월 숫자 | 8 |
MM | 두 자리 월 숫자 | 08 | |
MMM | 월 이름 축약 | Aug | |
MMMM | 월 이름 | August | |
일 | d | 일 숫자 | 5 |
dd | 일 숫자 (한 자리 수는 앞에 0 붙음) | 05 | |
요일 | ddd | 요일 약자 | Mon |
dddd | 요일 긴 이름 | Monday | |
시간 | h | 12시간 형식 한자리 또는 두 자리 | 낮 12시 -> 12 오후 1시 -> 1 |
hh | 12시간 형식 두 자리 | 낮 12시 -> 12 오후 1시 -> 01 | |
H | 24시간 형식 한 자리 또는 두 자리 | 오전 9시 -> 9 오후 9시 -> 21 | |
HH | 24시간 형식 두 자리 | 오전 9시 -> 09 오후 9시 -> 21 | |
분 | m | 한 자리 또는 두 자리 분 | 6 30 |
mm | 두 자리 분 | 06 30 | |
초 | s | 한 자리 또는 두 자리 초 | 1 49 |
ss | 두 자리 초 | 01 49 | |
AM / PM | t | A 또는 P로 오전 오후 표시 | A P |
tt | AM 또는 PM으로 오전 오후 표시 | AM PM |
날짜 관련 함수
DateTime dateString = DateTime.Now;
DateTime newDate = dateString.AddYears(int32); //년 추가
DateTime newDate = dateString.AddMonths(int32); //월 추가
DateTime newDate = dateString.AddDays(double); //일 추가
DateTime newDate = dateString.AddHours(double); //시간추가
DateTime newDate = dateString.AddMinutes(double); //분 추가
DateTime newDate = dateString.AddSeconds(double); //초 추가
참고)
C# DATETIME 사용법/ 날짜함수
DATE 함수 사용법입니다. 사용하면서 잊어버리기 쉬운데 다시 기억하기 귀찮아서 올립니다. DateTime.Now.ToString("MM/dd/yyyy") 04-03-2018 DateTime.Now.ToString("dddd, dd MMMM yyyy") 화요일, 03 4월 2018 D..
operagu.tistory.com
Provider
using System.Globalization;
CultureInfo provider = CultureInfo.InvariantCulture; //문화권 독립적(고정)인 CultureInfo를 가져온다.
'알고리즘 > 백준' 카테고리의 다른 글
[백준] 2292 벌집 C# (0) | 2022.10.25 |
---|---|
[백준] 24060 알고리즘 수업 - 병합 정렬 1 (0) | 2022.10.16 |
[백준 3단계] C# 15552 빠른 A+B (StringBuilder, StringReader) (1) | 2022.09.20 |
[백준 3단계 반복문] C# 8393 합 (0) | 2022.09.20 |
[백준 1단계] C# 2588 곱셈 (0) | 2022.09.05 |
댓글