๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[BAEKJOON C++] 9243_ํŒŒ์ผ ์™„์ „ ์‚ญ์ œ ๋ณธ๋ฌธ

๐Ÿฆฅ ์ฝ”ํ…Œ/BAEKJOON

[BAEKJOON C++] 9243_ํŒŒ์ผ ์™„์ „ ์‚ญ์ œ

์ง•์ง•์•ŒํŒŒ์นด 2023. 7. 12. 00:25
728x90
๋ฐ˜์‘ํ˜•
์–ด๋Š ๋‚ , ์ƒ๊ทผ์ด์˜ ์—ฌ์ž์นœ๊ตฌ๋Š” ์ƒ๊ทผ์ด์—๊ฒŒ ๋งค์šฐ ๊ธด๊ธ‰ํ•œ ๋ชฉ์†Œ๋ฆฌ๋กœ ์ „ํ™”ํ–ˆ๋‹ค.
"์ƒ๊ทผ์•„, ๋‚˜ ๊ธ‰ํ•˜๊ฒŒ ์ง€์›Œ์•ผ ๋  ํŒŒ์ผ์ด ์žˆ์–ด! ์ด ํŒŒ์ผ์€ ์ ˆ๋Œ€ ๋ณต๊ตฌ๋˜๋ฉด ์•ˆ๋ผ."

ํŒŒ์ผ์„ ์™„์ „ ์‚ญ์ œํ•˜๋ ค๋ฉด ํ•˜๋“œ๋“œ๋ผ์ด๋ธŒ์—์„œ ๊ทธ ๊ตฌ๊ฐ„์„ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋กœ ๋ฐ˜๋ณตํ•ด์„œ ๋ฎ์–ด์จ์•ผ ํ•œ๋‹ค.
์ƒ๊ทผ์ด๋Š” ์—ฌ์ž์นœ๊ตฌ๋ฅผ ์œ„ํ•ด ํŒŒ์ผ ์™„์ „ ์‚ญ์ œ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. 

์‚ฌ์šฉ์ž๋Š” ์‚ญ์ œํ•  ํŒŒ์ผ์„ ํ•˜๋‚˜ ๊ณ ๋ฅด๊ณ , ๋ช‡ ๋ฒˆ ๋ฎ์–ด์”Œ์šธ์ง€ n์„ ์ž…๋ ฅํ•œ๋‹ค.
n์€ 1๋ถ€ํ„ฐ 20๊นŒ์ง€ ์ˆซ์ž ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ณจ๋ผ์•ผ ํ•œ๋‹ค. 
์ƒ๊ทผ์ด์˜ ํ”„๋กœ๊ทธ๋žจ์€ ํŒŒ์ผ์„ ๋น„ํŠธ๋‹จ์œ„๋กœ ๋ฎ์–ด์”Œ์šด๋‹ค.
ํ•œ ๋ฒˆ ๋ฎ์–ด์”Œ์šธ ๋•Œ, 0์ธ ๋น„ํŠธ๋Š” 1๋กœ, 1์ธ ๋น„ํŠธ๋Š” 0์œผ๋กœ ๋ฎ์–ด์”Œ์šด๋‹ค.

์ƒ๊ทผ์ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์™„์„ฑํ–ˆ๊ณ  ํ…Œ์ŠคํŠธํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.
ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๊ธฐ ์ „์— ํŒŒ์ผ์ด ์žˆ์—ˆ๋˜ ๊ณณ์˜ ๋น„ํŠธ์™€ 
ํŒŒ์ผ์„ ์‚ญ์ œํ•œ ํ›„์— ํŒŒ์ผ์ด ์žˆ์—ˆ๋˜ ๊ณณ์˜ ๋น„ํŠธ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, 
ํ”„๋กœ๊ทธ๋žจ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘์„ฑํ–ˆ๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค.

์ด ๋ฌธ์ œ์—์„œ ํŒŒ์ผ์ด ์‹ค์ œ๋กœ ์‚ญ์ œ๋˜์—ˆ๋Š”์ง€๋Š” ์ค‘์š”ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.
์ƒ๊ทผ์ด๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ–ˆ์œผ๋ฉด ์‚ญ์ œ๊ฐ€ ์„ฑ๊ณตํ•œ ๊ฒƒ์œผ๋กœ, ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ๋Š” ๋ชจ๋‘ ์‹คํŒจํ•œ ๊ฒƒ

์ž…๋ ฅ
์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค.(1 ≤ N ≤ 20) 
๋‘˜์งธ ์ค„์—๋Š” ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๊ธฐ ์ „์— ํŒŒ์ผ์ด ์žˆ์—ˆ๋˜ ๊ณณ์˜ ๋น„ํŠธ๊ฐ€ ์ฃผ์–ด์ง€๊ณ ,
์…‹์งธ ์ค„์—๋Š” ์‚ญ์ œํ•œ ํ›„์— ๋น„ํŠธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.
๋น„ํŠธ๋Š” 0๊ณผ 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๋‘ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” ๊ฐ™๋‹ค. 
๋น„ํŠธ๋Š” ์ตœ๋Œ€ 1000๊ฐœ์˜ ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

์ถœ๋ ฅ
์ฒซ์งธ ์ค„์— ์‚ญ์ œ๊ฐ€ ์„ฑ๊ณตํ–ˆ์œผ๋ฉด "Deletion succeeded"์„, 
์‹คํŒจํ–ˆ์œผ๋ฉด "Deletion failed"์„ ์ถœ๋ ฅํ•œ๋‹ค.
// [9243] ํŒŒ์ผ ์™„์ „ ์‚ญ์ œ

/*
์–ด๋Š ๋‚ , ์ƒ๊ทผ์ด์˜ ์—ฌ์ž์นœ๊ตฌ๋Š” ์ƒ๊ทผ์ด์—๊ฒŒ ๋งค์šฐ ๊ธด๊ธ‰ํ•œ ๋ชฉ์†Œ๋ฆฌ๋กœ ์ „ํ™”ํ–ˆ๋‹ค.
"์ƒ๊ทผ์•„, ๋‚˜ ๊ธ‰ํ•˜๊ฒŒ ์ง€์›Œ์•ผ ๋  ํŒŒ์ผ์ด ์žˆ์–ด! ์ด ํŒŒ์ผ์€ ์ ˆ๋Œ€ ๋ณต๊ตฌ๋˜๋ฉด ์•ˆ๋ผ."

ํŒŒ์ผ์„ ์™„์ „ ์‚ญ์ œํ•˜๋ ค๋ฉด ํ•˜๋“œ๋“œ๋ผ์ด๋ธŒ์—์„œ ๊ทธ ๊ตฌ๊ฐ„์„ ์ƒˆ๋กœ์šด ๋ฐ์ดํ„ฐ๋กœ ๋ฐ˜๋ณตํ•ด์„œ ๋ฎ์–ด์จ์•ผ ํ•œ๋‹ค.
์ƒ๊ทผ์ด๋Š” ์—ฌ์ž์นœ๊ตฌ๋ฅผ ์œ„ํ•ด ํŒŒ์ผ ์™„์ „ ์‚ญ์ œ ํ”„๋กœ๊ทธ๋žจ์„ ๋งŒ๋“ค๋ ค๊ณ  ํ•œ๋‹ค. 

์‚ฌ์šฉ์ž๋Š” ์‚ญ์ œํ•  ํŒŒ์ผ์„ ํ•˜๋‚˜ ๊ณ ๋ฅด๊ณ , ๋ช‡ ๋ฒˆ ๋ฎ์–ด์”Œ์šธ์ง€ n์„ ์ž…๋ ฅํ•œ๋‹ค.
n์€ 1๋ถ€ํ„ฐ 20๊นŒ์ง€ ์ˆซ์ž ์ค‘ ํ•˜๋‚˜๋ฅผ ๊ณจ๋ผ์•ผ ํ•œ๋‹ค. 
์ƒ๊ทผ์ด์˜ ํ”„๋กœ๊ทธ๋žจ์€ ํŒŒ์ผ์„ ๋น„ํŠธ๋‹จ์œ„๋กœ ๋ฎ์–ด์”Œ์šด๋‹ค.
ํ•œ ๋ฒˆ ๋ฎ์–ด์”Œ์šธ ๋•Œ, 0์ธ ๋น„ํŠธ๋Š” 1๋กœ, 1์ธ ๋น„ํŠธ๋Š” 0์œผ๋กœ ๋ฎ์–ด์”Œ์šด๋‹ค.

์ƒ๊ทผ์ด๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์™„์„ฑํ–ˆ๊ณ  ํ…Œ์ŠคํŠธํ•ด๋ณด๋ ค๊ณ  ํ•œ๋‹ค.
ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๊ธฐ ์ „์— ํŒŒ์ผ์ด ์žˆ์—ˆ๋˜ ๊ณณ์˜ ๋น„ํŠธ์™€ 
ํŒŒ์ผ์„ ์‚ญ์ œํ•œ ํ›„์— ํŒŒ์ผ์ด ์žˆ์—ˆ๋˜ ๊ณณ์˜ ๋น„ํŠธ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, 
ํ”„๋กœ๊ทธ๋žจ์„ ์˜ฌ๋ฐ”๋ฅด๊ฒŒ ์ž‘์„ฑํ–ˆ๋Š”์ง€ ์ถœ๋ ฅํ•œ๋‹ค.

์ด ๋ฌธ์ œ์—์„œ ํŒŒ์ผ์ด ์‹ค์ œ๋กœ ์‚ญ์ œ๋˜์—ˆ๋Š”์ง€๋Š” ์ค‘์š”ํ•œ ๊ฒƒ์€ ์•„๋‹ˆ๋‹ค.
์ƒ๊ทผ์ด๊ฐ€ ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ–ˆ์œผ๋ฉด ์‚ญ์ œ๊ฐ€ ์„ฑ๊ณตํ•œ ๊ฒƒ์œผ๋กœ, ๊ทธ ์™ธ์˜ ๊ฒฝ์šฐ๋Š” ๋ชจ๋‘ ์‹คํŒจํ•œ ๊ฒƒ

์ž…๋ ฅ
์ฒซ์งธ ์ค„์— N์ด ์ฃผ์–ด์ง„๋‹ค.(1 ≤ N ≤ 20) 
๋‘˜์งธ ์ค„์—๋Š” ํŒŒ์ผ์„ ์‚ญ์ œํ•˜๊ธฐ ์ „์— ํŒŒ์ผ์ด ์žˆ์—ˆ๋˜ ๊ณณ์˜ ๋น„ํŠธ๊ฐ€ ์ฃผ์–ด์ง€๊ณ ,
์…‹์งธ ์ค„์—๋Š” ์‚ญ์ œํ•œ ํ›„์— ๋น„ํŠธ๊ฐ€ ์ฃผ์–ด์ง„๋‹ค.
๋น„ํŠธ๋Š” 0๊ณผ 1๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ๊ณ , ๋‘ ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” ๊ฐ™๋‹ค. 
๋น„ํŠธ๋Š” ์ตœ๋Œ€ 1000๊ฐœ์˜ ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ๋‹ค.

์ถœ๋ ฅ
์ฒซ์งธ ์ค„์— ์‚ญ์ œ๊ฐ€ ์„ฑ๊ณตํ–ˆ์œผ๋ฉด "Deletion succeeded"์„, 
์‹คํŒจํ–ˆ์œผ๋ฉด "Deletion failed"์„ ์ถœ๋ ฅํ•œ๋‹ค.
*/

#define _CRT_SECURE_NO_WARNINGS
// ํ‘œ์ค€ ์ŠคํŠธ๋ฆผ์—์„œ ์ฝ๊ธฐ ๋ฐ ์“ฐ๊ธฐ๋ฅผ ์ œ์–ดํ•˜๋Š” ๊ฐœ์ฒด๋ฅผ ์„ ์–ธ
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;

int main()
{
	int n;
	cin >> n;

	string a, b;
	cin >> a >> b;

	if (n % 2 == 0) {
		for (int i = 0; i < a.size(); i++) {
			// ๋น„ํŠธ๊ฐ€ ๊ฐ™์•„์•ผํ•จ
			if (a[i] != b[i]) {
				cout << "Deletion failed" << '\n';
				return 0;
			}
		}
		cout << "Deletion succeeded" << '\n';
	}
	else {
		for (int i = 0; i < a.size(); i++) {
			// ๋น„ํŠธ๊ฐ€ ๋ฐ˜๋Œ€์—ฌ์•ผํ•จ
			if (a[i] == b[i]) {
				cout << "Deletion failed" << '\n';
				return 0;
			}
		}
		cout << "Deletion succeeded" << '\n';
	}
}

728x90
๋ฐ˜์‘ํ˜•
Comments