백준 4446번. ROT

phoenixKim·2022년 8월 8일
0

백준 알고리즘

목록 보기
58/174
  • 복습하려다가 다른 문제 풀어버림..

알아야 할 점.

1) 문자열 띄어쓰기를 해야 함.
: getline을 사용하자.

2) 여러줄을 입력받아야 함.
while (getline(cin, string)) 을 사용하자.

풀이전략

  • 문제를 읽어보고, 1번을 2번으로 변경하자고 생각을 하게 됨.
    그래서 일단 배열 선언해서 나타내봄.

  • 하다보니까 어쨋든 1번을 2번으로 변경하는 것이므로,
    key값과 value를 가지고 있는 map으로 처리하면 되지 않을까??? 란 생각을 하게 됨.
    : 대문자 , 소문자, 자음 ,모음 을 하나의 map에다가 때려 박음

코드

#include <iostream>
using namespace std;

#include <vector>
#include <algorithm>
#include <string>
#include <stack>
#include <list>
#include <deque>
#include <map>


int main()
{
	map<char, char>m = { {'a', 'e'}, {'i' ,'o'} , {'y' ,'u'}
			, {'e' ,'a' }, {'o' ,'i'} , {'u' ,'y'} 
	, {'b', 'p'}, {'k', 'v'}, {'x', 'j'}, {'z', 'q'}, {'n', 't'}
	, {'h', 's'} , {'d', 'r'} , {'c', 'l'} , {'w', 'm'} 
		, {'g', 'f'} 
	, {'p', 'b'} , {'v', 'k'} , {'j', 'x'} , {'q', 'z'}
	, {'t', 'n'} , {'s', 'h'} , {'r', 'd'} , {'l', 'c'} 
	, {'m', 'w'} , {'f', 'g'}
	,
	 {'A', 'E'}, {'I' ,'O'} , {'Y' ,'U'}
			, {'E' ,'A' }, {'O' ,'I'} , {'U' ,'Y'}
	, {'B', 'P'}, {'K', 'V'}, {'X', 'J'}, {'Z', 'Q'},
	{'N', 'T'}
	, {'H', 'S'} , {'D', 'R'} , {'C', 'L'} , {'W', 'M'}
		, {'G', 'F'}
	, {'P', 'B'} , {'V', 'K'} , {'J', 'X'} , {'Q', 'Z'}
	, {'T', 'N'} , {'S', 'H'} , {'R', 'D'} , {'L', 'C'}
	, {'M', 'W'} , {'F', 'G'} };

	//char moeum1[] = { 'a', 'i', 'y', 'e', 'o', 'u' };
	//char moeum2[] = { 'e', 'o', 'u', 'a', 'i', 'y' };

	//char jaeum1[] = { 'b', 'k', 'x', 'z', 'n', 'h', 'd', 'c'
	//	,'w', 'g', 'p', 'v', 'j', 'q', 't', 's', 'r', 'l', 'm',
	//	'f'};
	//char jaeum2[] = { 'p', 'v', 'j', 'q', 't', 's', 'r', 'l'
	//	,'m', 'f', 'b', 'k', 'x', 'z', 'n', 'h', 'd', 'c', 'w',
	//	'g' };

	string word;
	//cin >> word;
	// 띄어쓰기...

	while (getline(cin, word))
	{
		for (auto iter : word)
		{
			if (m.find(iter) != m.end())
				cout << m[iter];
			else
				cout << iter;
		}
		cout << endl;
	}
	//getline(cin, word);

	// 대문자도 있음...
	// 위에걸로 하지 말자.

	

}

profile
🔥🔥🔥

0개의 댓글

관련 채용 정보