728x90
Key Point
1. 배열에서 '666'이라는 문자열이 존재하는지 확인을 계속 해야한다.
2. 확인이 되면 반복문 탈출하고 다음 숫자를 찾아 떠나야한다.
알게 된 문제 풀이법
1. 배열에서 '666'이라는 값이 있는지 어떻게 비교할까를 생각해내지 못하여 풀이를 참고했는데 조건문에 연속적으로
if (target[j] == '6' && target[j + 1] == '6' && target[j + 2] == '6')
다음과 같이 연속된 배열을 확인하며 해당 안 될 경우 배열속 index값을 +1 하여 다음 배열을 확인할 수 있게 하는 풀이법을 터득하였다.
#include<iostream>
#include<string>
using namespace std;
int main() {
int N;
int cnt = 0;
int i = 666;
string target;
cin >> N;
while (cnt < N) {
target = to_string(i);
for (int j = 0; j < target.length() - 2; j++) {
if (target[j] == '6' && target[j + 1] == '6' && target[j + 2] == '6') {
cnt++;
break;
}
}
if (cnt == N)
cout << target;
i++;
}
return 0;
}
728x90
'백준 풀이' 카테고리의 다른 글
[백준/BOJ] - 4153번 c++ 풀이 (1) | 2022.11.13 |
---|---|
[백준/BOJ] - 15829번 c++ 풀이 (1) | 2022.11.12 |
[백준/BOJ] - 1259번 c++ 풀이 (0) | 2022.11.12 |
[백준/BOJ] - 1181번 c++ 풀이 (0) | 2022.11.12 |
[백준/BOJ] - 1018번 c++ 풀이 - 첫 실버 (0) | 2022.11.11 |