less than 1 minute read

[no-alignment]

구현 방식

  • 처음에 입력을 받을 때 행을 담은 벡터로 담지 말고, 열을 담은 벡터로 담는다.
  • 그렇게 하고, 앞 문자를 하나씩 제거한 부분 문자열을 set에다 담아서 탐색을 한다.

코드

  • 최종 코드는 아래와 같다.
#include <bits/stdc++.h>

using namespace std;


void solution(int R, vector<string>& columns);

int main() {
	int R, C;
	cin >> R >> C;
	vector<string> columns(C,"");

	for (int r = 0; r < R; r++)
	{
		for (int c = 0; c < C; c++)
		{
			char cc;
			cin >> cc;
			columns[c] += cc;
		}
	}
	solution(R, columns);

}


void solution(int R, vector<string>& columns)
{
	
	int counter = 0;
	for (int idx = 1; idx < R; idx++)
	{
		set<string> s;
		for (auto& c : columns)
		{
			string subColumn = c.substr(idx, c.size() - idx);
			if (s.find(c.substr(idx, c.size() - idx)) != s.end())
			{
				cout << counter;
				return;
			}
			else
				s.insert(subColumn);

		}
		counter++;
	}

	cout << counter;
}