728x90
두개의 string을 받고 일치하는 부분으로 두 단어가 교차하게 출력하는 문제입니다.
첫번째 문자를 a 두번째 문자를 b라고 했을 때
a를 기준으로 순차적으로 비교해서 우선적으로 맞는것을 기준으로 출력합니다.
find 함수를 통해서 인덱스 번호를 알아냈습니다.
#include <iostream>
#include <algorithm>
#include <cstring>
#include <string>
using namespace std;
int main(int argc, char* argv[])
{
int x, y;
char map[40][40];
string s1;
string s2;
memset(map, '.', sizeof(map));
cin >> s1;
cin >> s2;
for (int i = 0; i < s1.length(); ++i) {
if (s2.find(s1[i]) <= s2.length()) {
x = s2.find(s1[i]);
y = i;
break;
}
}
for (int i = 0; i < s2.length(); ++i) {
for (int j = 0; j < s1.length(); ++j) {
if (x == i) {
map[i][j] = s1[j];
}
if (y == j) {
map[i][j] = s2[i];
}
cout << map[i][j];
}
cout << endl;
}
return 0;
}
'알고리즘' 카테고리의 다른 글
[C++] 백준 1996번 지뢰 찾기 (0) | 2019.11.04 |
---|---|
[C++] 백준 2160번 그림 비교 (0) | 2019.11.04 |
[C++] 백준 9226번 도깨비말 (0) | 2019.11.04 |
[C++] 백준 5612번 터널의 입구와 출구 (0) | 2019.11.04 |
[C++] 백준 6086번 최대 유량 (0) | 2019.10.30 |