반응형

안녕하세요, 츄르 사려고 코딩하는 집사, 코집사입니다.

이번 글은 백준 알고리즘 15814번 야바위대장 C++ 글 입니다.

 

 

1. 문제

10년 동안 도박판에서 야바위를 한 영훈은 이제 보지 않고도 구슬이 있는 컵을 맞추는 지경에 이르렀다.

이런 영훈을 골탕 먹이기 위해 문자열로 야바위를 하려고 한다.

T번 동안 문자열 S의 A번째 위치에 있는 문자와 B번째 위치에 있는 문자를 바꾼 결과를 출력하는 프로그램을 작성하시오.

 

 

2. 입력

첫 번째 줄에 문자열 S가 주어지고 두 번째 줄에 T가 주어진다. (문자열 S는 최대 100자를 넘지 않으며, 영어 대소문자와 하이픈(-)으로만 이루어져 있다)

그 다음 T번째 줄 동안 A와 B가 주어진다.

A와 B는 문자열의 길이보다 작은 양의 정수이며, 문자열의 가장 첫 번째 자리는 0번째이다.

Youngmaan-good

2

1 3

9 2

 

 

3. 출력

바뀐 문자열의 결과를 출력한다.

Yn-ogmaanugood

 

 

4. 풀이

횟수에 따른 변경을 해주면 됩니다.

간단하게 swap을 이용했습니다.

C언어로 하려면 함수를 만들거나, 

int temp;

temp = a;

a = b;

b = temp;

이런 식으로 사용하면 될 것 같습니다.

 

 

5. 소스 코드

#include
using namespace std;
int main()
{
    string S;
    int T;
    cin >> S;
    cin >> T;
    while(T--)
    {
        int a,b;
        cin >> a >> b;
        swap(S[a],S[b]);
    }

    cout << S <<endl;
}

 

 

6. 결과

반응형
  • 네이버 블러그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 카카오스토리 공유하기