끄적끄적 코딩
article thumbnail

두개의 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;
}

검색 태그