문제
욱제는 귀여운 수~ε٩(๑> ₃ <)۶з를 좋아한다. 귀여운 수~ε٩(๑> ₃ <)۶з는 수를 이루는 각 자릿수가 등차수열[*]을 이루는 수이다. 당신은 욱제한테 귀여운 수~ε٩(๑> ₃ <)۶з 하나를 선물해주고 싶다. 수 하나가 주어졌을 때 이 수가 귀여운지 판단하는 프로그램을 짜 보자.
[*] 등차수열을 이루는 숫자들은, 왼쪽에서 오른쪽으로 가면서 일정한 크기(0일 수도 있음)만큼 커지거나 일정한 크기만큼 작아진다. 뭔지 모르겠으면 예제를 보고 알아보자. ㅋㅋ!
입력
정수 k(1 ≤ k ≤ 1018)가 주어진다. 입력은 0으로 시작하지 않는다.
출력
수가 귀여우면 "◝(⑅•ᴗ•⑅)◜..°♡ 뀌요미!!"를, 귀엽지 않으면 "흥칫뿡!! <( ̄ ﹌  ̄)>"를 따옴표 없이 출력한다.
Solved.ac 레벨
브론즈 I
풀이
#include <bits/stdc++.h>
using namespace std;
int main(){
ios::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
long long k;
int tmp = 0;
vector<int> num;
cin >> k;
while(k > 0) {
tmp = k % 10;
k /= 10;
num.push_back(tmp);
}
int gap = num[0] - num[1];
for(int i = 1; i < num.size(); i++) {
if(num[i - 1] - num[i] != gap) {
cout << "흥칫뿡!! <( ̄ ﹌  ̄)>\n";
return 0;
}
}
cout << "◝(⑅•ᴗ•⑅)◜..°♡ 뀌요미!!\n";
return 0;
}
각 자리수를 vector에 저장해두고 가장 첫 번째 수와 두 번째 수의 차를 미리 저장해둔 뒤 수열을 탐색하며 차가 다른 부분이 있다면 바로 흥칫뿡을 출력하고 프로그램을 종료한다.
'Study (etc) > Problem Solving' 카테고리의 다른 글
[BOJ / C++] 25640번 : MBTI (0) | 2023.04.10 |
---|---|
[BOJ / C++] 2163번 : 초콜릿 자르기 (0) | 2023.04.09 |
[BOJ / C++] 2720번 : 세탁소 사장 동혁 (0) | 2023.04.05 |
[BOJ / C++] 1743번 : 음식물 피하기 (0) | 2023.04.05 |
[BOJ / C++] 16173번 : 점프왕 쩰리 (Small) (0) | 2023.04.04 |