본문 바로가기

Algorithm/Brute Force

(C++) - 백준(BOJ) 9081 : 단어 맞추기

반응형

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

 

9081번: 단어 맞추기

입력의 첫 줄에는 테스트 케이스의 개수 T (1 ≤ T ≤ 10)가 주어진다. 각 테스트 케이스는 하나의 단어가 한 줄로 주어진다. 단어는 알파벳 A~Z 대문자로만 이루어지며 항상 공백이 없는 연속된 알

www.acmicpc.net

전수조사 문제였습니다.

📕 풀이방법

📔 입력 및 초기화

test case t, 두 번째 문자열을 출력하기 위한 cnt, 문자열 s, ans를 선언한 후 입력받습니다.

📔 풀이과정

next_permutation함수를 이용해서 문자열s 다음을 출력합니다. cnt가 2라면 바로 break해줍니다.

📔 정답출력

ans를 출력합니다.


📕 Code

#include <bits/stdc++.h>
using namespace std;
int t, cnt;
string s, ans;

int main(){
    cin >> t;
    while(t--){
        cin >> s;
        cnt = 0;
        do{
            ans = s;
            if(++cnt == 2) break;
        }while(next_permutation(s.begin(), s.end()));
        cout << ans << '\n';
    }
}

*더 나은 내용을 위한 지적, 조언은 언제나 환영합니다.