문제 링크입니다: https://www.acmicpc.net/problem/13698
A, B, C, D, E, F에 대해 적절하게 swap 함수를 적용하면 되는 문제였습니다.
C++에서는 swap 함수를 제공하기 때문에 매우 쉬운 문제였습니다.
#include <iostream>
#include <string>
using namespace std;
int arr[4];
string S;
void printLocation(void)
{
for (int i = 0; i < S.length(); i++)
{
switch (S[i])
{
case 'A':
swap(arr[0], arr[1]);
break;
case 'B':
swap(arr[0], arr[2]);
break;
case 'C':
swap(arr[0], arr[3]);
break;
case 'D':
swap(arr[1], arr[2]);
break;
case 'E':
swap(arr[1], arr[3]);
break;
case 'F':
swap(arr[2], arr[3]);
break;
}
}
//작은 공
for (int i = 0; i < 4; i++)
if (arr[i] == 1)
cout << i + 1 << endl;
//큰 공
for (int i = 0; i < 4; i++)
if (arr[i] == 2)
cout << i + 1 << endl;
}
int main(void)
{
cin >> S;
arr[0] = 1; //작은 공
//0은 비어있는 컵
arr[3] = 2; //큰 공
printLocation();
return 0;
}
개발환경:Visual Studio 2017
지적, 조언, 질문 환영입니다! 댓글 남겨주세요~
'알고리즘 > BOJ' 카테고리의 다른 글
백준 13700번 완전 범죄 (0) | 2018.05.24 |
---|---|
백준 13699번 점화식 (0) | 2018.05.23 |
백준 15719번 중복된 숫자 (0) | 2018.05.22 |
백준 2482번 색상환 (4) | 2018.05.19 |
백준 1753번 최단경로 (4) | 2018.05.19 |