๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

๐Ÿ“ ์•Œ๊ณ ๋ฆฌ์ฆ˜/BOJ

[C++/๋ฐฑ์ค€] 25178 : ๋‘๋ผ๋ฌด๋ฆฌ ํœด์ง€

๋ฌธ์ œ

๊ธฐ๋ น์ด๋Š” ์–ด๋Š ๋‚  ์บ ๋ฆฟ๋ธŒ์ง€ ๋Œ€ํ•™์˜ ์—ฐ๊ฒฐ๊ตฌ๊ณผ์— ๋Œ€ํ•ด ์•Œ๊ฒŒ ๋˜์—ˆ๋‹ค. ์บ ๋ฆฟ๋ธŒ์ง€ ๋Œ€ํ•™์˜ ์—ฐ๊ฒฐ๊ตฌ๊ณผ๋ž€, ๋‹จ์–ด๋ฅผ ์ดํ•ดํ•จ์— ์žˆ์–ด ํ•œ ๋‹จ์–ด ์•ˆ์—์„œ ๊ธ€์ž๋“ค์ด ์–ด๋–ค ์ˆœ์„œ๋กœ ๋ฐฐ์—ด๋˜์–ด ์žˆ๋Š”์ง€๋Š” ์ค‘์š”ํ•˜์ง€ ์•Š๊ณ , ์–‘ ๋์˜ ๊ธ€์ž๊ฐ€ ์˜ฌ๋ฐ”๋ฅธ์ง€๋งŒ ์ค‘์š”ํ•˜๋‹ค๋Š” ์ด๋ก ์ด๋‹ค. ์ฆ‰ ๋‹จ์–ด์˜ ๊ธ€์ž๊ฐ€ ์„ž์ด๋”๋ผ๋„ ์–‘ ๋์˜ ๊ธ€์ž๋งŒ ๊ทธ๋Œ€๋กœ๋ผ๋ฉด ์›๋ž˜์˜ ๋‹จ์–ด๋ฅผ ์‰ฝ๊ฒŒ ์œ ์ถ”ํ•˜์—ฌ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ด๋‹ค.

๊ทธ๋Ÿฌ๋‚˜ ๊ธฐ๋ น์ด๋Š” "durumari"์™€ ๊ฐ™์€ ๋‹จ์–ด๋ฅผ "daumurri"๋กœ ๋ฐ”๊พธ๊ฒŒ ๋œ๋‹ค๋ฉด ์›๋ž˜์˜ ๋‹จ์–ด๋ฅผ ์œ ์ถ”ํ•˜๊ธฐ ๋งค์šฐ ์–ด๋ ค์›Œ์ง„๋‹ค๋Š” ์‚ฌ์‹ค์„ ๋ฐœ๊ฒฌํ–ˆ๋‹ค. ๋ช‡ ๋‚  ๋ฉฐ์น ์˜ ๊ณ ๋ฏผ์„ ๊ฑฐ๋“ญํ•œ ๋์— ์œ„์˜ ์ด๋ก ์ด ์ž˜ ์ž‘๋™ํ•  ์ˆ˜ ์žˆ๋Š” ์กฐ๊ฑด์„ ์ƒˆ๋กญ๊ฒŒ ์ฐพ์•„๋ƒˆ๋‹ค.

  • ํ•œ ๋‹จ์–ด๋ฅผ ์žฌ๋ฐฐ์—ดํ•ด ๋‹ค๋ฅธ ๋‹จ์–ด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์–ด์•ผ ํ•œ๋‹ค.
  • ๋‘ ๋‹จ์–ด์˜ ์ฒซ ๊ธ€์ž์™€ ๋งˆ์ง€๋ง‰ ๊ธ€์ž๋Š” ์„œ๋กœ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค.
  • ๊ฐ ๋‹จ์–ด์—์„œ ๋ชจ์Œ(a, e, i, o, u)์„ ์ œ๊ฑฐํ•œ ๋ฌธ์ž์—ด์€ ๋™์ผํ•ด์•ผ ํ•œ๋‹ค.

๊ธฐ๋ น์ด๋Š” ์ƒˆ๋กœ์šด ์กฐ๊ฑด์„ ๋ฐœ๊ฒฌํ•˜๊ฒŒ ํ•ด์ค€ ๋‹จ์–ด๋ฅผ ๊ธฐ๋ ค ์ด๋ฅผ ๋‘๋ผ๋ฌด๋ฆฌ ํšจ๊ณผ๋ผ ๋ถ€๋ฅด๊ธฐ๋กœ ํ–ˆ๋‹ค.

๊ธฐ๋ น์ด๋Š” ์ด์ œ ์–ด๋–ค ๋‘ ๋‹จ์–ด๊ฐ€ ๋‘๋ผ๋ฌด๋ฆฌ ํšจ๊ณผ๋ฅผ ๋ฐœ์ƒ์‹œํ‚ค๋Š”์ง€ ํŒ๋ณ„ํ•˜๊ณ  ์‹ถ๋‹ค. ํ•˜์ง€๋งŒ ์˜ค๋žœ ๊ณ ๋ฏผ์œผ๋กœ ์ง€์ณ ์ด๋ฅผ ํŒ๋‹จํ•  ๊ธฐ๋ ฅ์ด ๋‚จ์•„์žˆ์ง€ ์•Š๋‹ค. ์ง€์นœ ๊ธฐ๋ น์ด๋ฅผ ๋Œ€์‹ ํ•˜์—ฌ ์ด๋ฅผ ํŒ๋ณ„ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•ด๋ณด์ž.

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ๋‹จ์–ด์˜ ๊ธธ์ด N(2≤N≤100000)์ด ์ฃผ์–ด์ง„๋‹ค.

๋‘˜์งธ ์ค„๊ณผ ์…‹์งธ ์ค„์—๋Š” ๊ธธ์ด๊ฐ€ N์ด๊ณ  ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ง„ ๋ฌธ์ž์—ด์ด ์ฃผ์–ด์ง„๋‹ค.

์ถœ๋ ฅ

๋‘ ๋ฌธ์ž์—ด์ด ์กฐ๊ฑด์„ ๋งŒ์กฑํ•œ๋‹ค๋ฉด YES, ๋งŒ์กฑํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด NO๋ฅผ ์ถœ๋ ฅํ•œ๋‹ค.


 

์‹ค๋ฒ„ 5ํ‹ฐ์–ด ๋ฌธ์ œ์ธ๋ฐ, ๋”ฐ์ ธ์•ผ ํ•  ์กฐ๊ฑด์ด ๋งŽ์•˜๋˜ ๋ฌธ์ œ์ด๋‹ค.

์ฒ˜์Œ์— ์กฐ๊ฑด์ด ๋ชจํ˜ธํ•ด์„œ ํ‹€๋ฆฌ๊ณ  ๋ฐ˜๋ก€ ์ฐพ๋Š”๋‹ค๊ณ  ์‹œ๊ฐ„์ด ์ข€ ๊ฑธ๋ ธ๋‹ค..

์กฐ๊ฑด์—์„œ ์ž…๋ ฅํ•˜๋Š” ๋‘ ๋ฌธ์ž์—ด์ด ๋™์ผํ•˜๋ฉด ์•ˆ๋˜๋Š” ์ค„ ์•Œ์•˜๋Š”๋ฐ, ๋™์ผํ•ด๋„ ๋œ๋‹ค!

์ž๊พธ ์ฑ„์  98ํผ์—์„œ ํ‹€๋ ธ๋‹ค๊ณ  ํ•˜๊ธธ๋ž˜ ํ™”๋‚ฌ๋Š”๋ฐ ๋‹ค๋นˆ๋‹˜์ด ๋„์™€์ฃผ์…จ๋‹ค ํ˜ธํ˜ธ

 

#include <iostream>
#include <string>
#include <algorithm>
using namespace std;

int main() {
	ios::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
	string a, b;
	bool k = true;
	int n; cin >> n;
	cin >> a >> b;
	string ar = a; string br = b;
	sort(begin(ar), end(ar));
	sort(begin(br), end(br));

	if (a.size() != b.size()) k = false;
	else if (a[0] != b[0] || a[n - 1] != b[n - 1]) {
		k = false;
	}
	//else if ( a == b ) {
	//	k = false;
	//}
	else if (ar != br) {
		k = false;
	}
	else {
		ar = ""; br = "";
		for (int i = 0; i < n; ++i) {
			if (a[i] == 'a' || a[i] == 'e' || a[i] == 'i' || a[i] == 'o' || a[i] == 'u') continue;
			else ar += a[i];
		}
		for (int i = 0; i < n; ++i) {
			if (b[i] == 'a' || b[i] == 'e' || b[i] == 'i' || b[i] == 'o' || b[i] == 'u') continue;
			else br += b[i];
		}
		if (ar != br) {
			k = false;
		}
	}
	if (k) cout << "YES";
	else cout << "NO";

	return 0;
}