정화 코딩

[C++] 팰린드롬 이름 (백준 29768번) 본문

PS

[C++] 팰린드롬 이름 (백준 29768번)

jungh150c 2024. 8. 6. 00:43

https://www.acmicpc.net/problem/29768

 

#include <iostream>
using namespace std;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int n, k;
    cin >> n >> k;
    char str[n];

    int i = 0; // idx
    for (; i < (n - (2 * k - 1)); i++) str[i] = 'a';
    for (int j = 0; j < k; j++) {
        if (i >= n) break;
        str[i] = 'a' + j;
        i++;
    }
    int j = i - 2;
    for (; i < n; i++) {
        str[i] = str[j];
        j--;
        if (j < 0) break;
    }

    for (i = 0; i < n; i++) cout << str[i];
    cout << '\n';
}

처음에는 이렇게 풀어서 틀렸다. (WA) 질문게시판을 보니 나와 똑같이 푼 사람을 발견했다. 반례는 다음과 같다.

 

input : 10 2
ouput : aaaabbaaaa
answer : aaaaaaaaab

input : 5 3
output : abcba
answer : aaabc

아예 잘못 푼거였음.

 

#include <iostream>
using namespace std;

int main() {
    ios_base::sync_with_stdio(0);
    cin.tie(0);
    cout.tie(0);

    int n, k;
    cin >> n >> k;
    char str[n];

    int i = 0; // idx
    for (; i < (n - k); i++) str[i] = 'a';
    for (int j = 0; j < k; j++) {
        if (i >= n) break;
        str[i] = 'a' + j;
        i++;
    }

    for (i = 0; i < n; i++) cout << str[i];
    cout << '\n';
}

수정한 풀이. (AC)

 

'PS' 카테고리의 다른 글

[C++] 과일 탕후루 (백준 30804번)  (0) 2024.08.07
[C++] 이중 우선순위 큐 (백준 7662번)  (0) 2024.08.06
[C++] 돌다리 (백준 12761번)  (0) 2024.08.05
[C++] 회문수 (백준 30446번)  (0) 2024.08.03
[C++] 개구리 (백준 25333번)  (0) 2024.08.03
Comments