반응형
이번 글은 백준 알고리즘 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. 결과
반응형
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[백준 알고리즘/BOJ] 2588번 곱셈(C++) (0) | 2019.07.09 |
---|---|
[백준 알고리즘/BOJ] 10171번 고양이 (2) | 2019.07.05 |
[백준 알고리즘/BOJ] 15815번 천재 수학자 성필(C++) (0) | 2019.05.18 |
[백준 알고리즘/BOJ] 15813번 너의 이름은 몇 점이니?(C++) (0) | 2019.05.17 |
[백준 알고리즘/BOJ] 14624번 전북대학교(C언어) (0) | 2019.05.12 |
[백준 알고리즘/BOJ] 2525번 오븐시계(C언어) (0) | 2019.05.11 |
[백준 알고리즘/BOJ] 2163번 초콜릿 자르기(C언어) (0) | 2019.05.10 |
[백준 알고리즘/BOJ] 1110번 더하기 사이클(C언어) (0) | 2019.03.30 |
최근댓글