SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
D2 문제만 기록하려 했지만,,
접근 방법은 각 월의 일수를 배열로 저장해두고 입력을 string 타입으로 받았다.
그리고 각 자리수에 맞게 string으로 년/월/일을 입력받고
월과 일을 stoi 을 사용하여 문자열-> 정수 로 변환하고 각 조건을 넣어주었다.
월이 1~12 사이이며, 월의 일수가 각 월의 일수를 넘지 않고, 0이 아닐 때만 조건대로 출력
그 외에는 모두 -1을 출력하도록 구성하였다. 코드가 조금 지저분 한 기분,,,,,,,,
#include <bits/stdc++.h>
using namespace std;
int main(void){
ios::sync_with_stdio(0);
cin.tie(0);
int t;
cin>>t;
int days[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
for(int i=1; i<=t; i++){
string str ="";
cin>>str;
string year ="";
string mon = "";
string day ="";
for(int j=0; j<4; j++){
year += str[j];
}
for(int j=4; j<6; j++){
int idx = j+2;
mon +=str[j];
day +=str[idx];
}
int m = stoi(mon);
int d = stoi(day);
if(m>12 || m<1) cout<<"#"<<i<<" "<<-1<<"\n";
else{
if(d>days[m]|| d==0) cout<<"#"<<i<<" "<<-1<<"\n";
else{
cout<<"#"<<i<<" "<<year<<"/"<<mon<<"/"<<day<<"\n";
}
}
}
}
'Algorithm > SWEA' 카테고리의 다른 글
[c++] 1285. 아름이의 돌 던지기 (1) | 2021.02.23 |
---|---|
[c++] 1288. 새로운 불면증 치료법 (0) | 2021.02.19 |
[c++] 1926. 간단한 369게임 (0) | 2021.02.19 |
[c++] 1945. 간단한 소인수분해 (0) | 2021.02.19 |
[c++] 1946. 간단한 압축 풀기 (0) | 2021.02.19 |