#include <iostream>
int main() {
int month, day;
scanf("%d %d", &month, &day);
//printf("%d %d", month, day);
if(month > 2)
printf("After");
else if(month < 2)
printf("Before");
else{
if(day < 18)
printf("Before");
else if(day > 18)
printf("After");
else
printf("Special");
}
}
너무 쉽다 생각해서 글도 안 적었는데 더 좋은 방법이 있었다!
pair를 쓰면 되는데 이거에 대해 처음 들어봐서 뭔지 찾아봤다.
pair
두 객체를 하나의 객체로 취급할 수 있게 해준다
사용법
pair<타입, 타입> date : pair 클래스 date를 만든다
date.first : date의 첫번째 인자
date.second : date의 두번째 인자
date에 값을 넣으려면 { , } 중괄호를 통해서 넣어도 되고
make_pair( , )를 통해 넣을 수도 있다.
#include <iostream>
using namespace std;
int main() {
pair<int, int> special = {2, 18};
pair<int, int> date;
scanf("%d %d", &date.first, &date.second);
if(date < special)
printf("Before");
else if(date > special)
printf("After");
else
printf("Special");
return 0;
}
pair를 통해서 비교할때는 첫번째 원소 비교 -> 두번째 원소비교 순으로 간다!
첫번째 원소를 비교하고 첫번째 원소가 같다면 두번째 원소를 비교한다.
딱 이 문제를 위한 자료구조 아닌가! 짱 편하다.
얘도 max처럼 잘써줘야지
using ii = pair<int, int>;
ii date;
얘도 이런식으로 축약해서 많이 사용한다.
현실에서는 별다줄 싫어하는데 코딩에서는 다 줄여놓는게 편하다.
오만때만거 다 줄여버리자
#include <iostream>
using namespace std;
using ii = pair<int, int>;
int main() {
ii special = {2, 18};
ii date;
scanf("%d %d", &date.first, &date.second);
if(date < special)
printf("Before");
else if(date > special)
printf("After");
else
printf("Special");
return 0;
}
별다줄 당한 코드
'백준' 카테고리의 다른 글
17362 수학은 체육과목 입니다 2 (0) | 2019.10.02 |
---|---|
5575 타임카드 (0) | 2019.10.02 |
16673 고려대에는 공식 와인이 있다 (0) | 2019.10.02 |
1297 TV크기 (0) | 2019.10.02 |
2355 시그마 (0) | 2019.10.01 |