# 2884 ( IF 문 int )
1. 정수 입력 2개 (변수 2개 H, M )
2. 시간은 24시 기준으로 표현
3. 시작은 H= 0 , M =0 끝 H =23 , M 59
# 45분 일찍 알람설정하기 분석
EX ] 9: 00 -> 8: 15
9: 20 -> 8: 35
9: 44 -> 8 :59
-------------------------------------
9: 45 -> 9: 00
9: 50 -> 9: 05
0: 0 (24: 00) -> 23:15
------------------------------------
M < 45 M = 60 - 45 + M
H == 0 H = 23 ,
H = H -1 ,
C
#include <stdio.h>
int main()
{
int M = 0 , H =0;
scanf("%d %d", &H, &M);
if( M < 45 )
{
if( H <= 0 ) H = 23;
else H = H-1;
M = 15 + M;
}
else
{
M = M-45;
}
printf("%d %d",H,M);
return 0;
}
C++
#include<iostream>
using namespace std;
int main()
{
int H =0 , M= 0;
cin >> H;
cin >> M;
if( M < 45 )
{
M = 15 + M;
if( H < 1)
{
H = 23;
}
else
{
H = H-1;
}
}
else
{
M = M-45;
}
cout << H <<" "<<M <<endl;
return 0;
}
python
H , M = map(int,input().split())
# H , M = input().split()
# H = int(H)
# M = int(M) 대체가능
if M > 44:
print(H,M-45)
elif M < 45 and H > 0:
print(H-1, M+15)
else:
print(23, M+15)
input() 함수는 사용자 입력함수이고 사용자가 입력한 데이터는 무조건 문자열 자료형으로 받아들이는 함수이다 .
즉 정수형으로 변환하고자한다면 cast연산자 int() , float(), str(), format()을 사용하여 자료형을 변환해주어야한다.
여기서 input값에 한번에 여러 개의 입력값을 받기위해서는 input().split()을 사영하여 여러 함수를 받으면 된다 생각했었다.
split()함수는 문자열을 자르는 함수이다 .
- 변수1, 변수2 = input().split()
- 변수1, 변수2 = input().split('기준문자열')
- 변수1, 변수2 = input('문자열').split()
- 변수1, 변수2 = input('문자열').split('기준문자열') 인경우이다 .
입력값은 공백을 기준으로 분리한다 . ( input () 함수에 split()를 사용시 )
입력값 H, M = map(int, input().split())을 으로 써도 무방함 .
'programming > 알고리즘 풀이' 카테고리의 다른 글
백준 1546 -[C/C++/PYTHON] 1차원배열 (0) | 2021.11.29 |
---|---|
백준 4344번 - [C,C++,Python] 1차원배열 (0) | 2021.11.29 |
백준 10951번- [C/C++/Python] while문 (0) | 2021.11.29 |
백준 2739번 [C ,C++ , PyThon] -for문 (0) | 2021.11.28 |
백준 1000번 [C/C++/Python] 입출력사칙연산 (0) | 2021.11.26 |