20220305 민코딩 훈련반2 1주차-1

토토로·2022년 8월 19일
0
/*

#include <iostream>

#include <string>

using namespace std;

int main()

{

	string a = "asd";

	string b = "ert";

	string c = a + b;

	cout << c;

	//string 클래스+문자열 =ok

	//문자열+문자열=no

	

	return 0;

}

*/

 

 

//문자찾고 OX출력

/*

#include <iostream>

#include <string>

using namespace std;

int main()

{

	string map[4] = {

		"ABBT",

		"BTBT",

		"BBBT",

		"KFC"

	};

 

	for (int i = 0; i < 4; i++) {

		if (map[i].find("BB") != -1) {

			cout << "O";

		}

		else cout << "X";

	}

 

	return 0;

 

}

*/

//역순출력***

/*

#include <iostream>

#include <string>

using namespace std;

int main()

{

	string map[4] = {

		"ABBT",

		"BTBT&",

		"BBBT",

		"KFC"

	};

 

int len;

 

	for (int i = 0; i < 4; i++) {

	

		for (int j = map[i].length() - 1; j >= 0; j--) {

			cout << map[i][j];

		}

		cout << endl;

	}

	return 0;

}

*/

 

//파싱을 위한 두번째 준비 substr

/*

#include <iostream>

#include <string>

using namespace std;

int main()

{

 

	string str = "dkjhfe";

	string ret = str.substr(2, 4); //2번 index부터 4글자 뽑기

	cout << ret;

	return 0;

}

*/

/*substr 예제

#include <iostream>

#include <string>

using namespace std;

int main()

{

	string str;

	for (char i = 'A'; i <= 'Z'; i++) {

		str += i;

	}

 

	int a, b;

	cin >> a >> b;

	//a index 부터 b index까지 출력

	//사이즈 만들기

	int size = b - a + 1;

 

	cout << str.substr(a, b - a + 1);

 

	return 0;

 

}

*/

 

//모르겠음 파싱예제..

/* 모르겠음 파싱예제..

#include <iostream>

#include <string>

using namespace std;

int main()

{

	string str;

	cin >> str;

 

	int index1, index2;

 

	

	index1 = str.find("[");

	index2 = str.find("]");

	

	int size = index2 - index1;

 

	string ret = str.substr(index1+1, size+1);

 

	cout << ret;

 

	return 0;

}*/

 

//파싱 예제 2(함수 사용하기)

/*

#include <iostream>

#include <string>

using namespace std;

 

string go(string str) {

	if (str.find("[") == -1) return "";

 

		int a = str.find("[");

		int b = str.find("]");

		int size = b - a - 1;

 

		string ret = str.substr(a + 1, size);

 

		return ret;

	

}

 

int main()

{

	string map[4] = {

		"ABCQ",

		"B[4]R",

		"CCDA",

		"BT[15]"

	};

 

	for (int y = 0; y < 4; y++) {

		cout << go(map[y]);

	}

	return 0;

}

*/

 

//stoi,to_string 암기***

/*

#include <iostream>

#include <string>

using namespace std;

int main()

{

 

	string st = "1234";

 

	int i = stoi(st);

	cout << i;

 

	int v = 234;

	string a = to_string(v);

 

	cout << a;

}

*/

 

//파싱 예제3 (있는게 뒤에 또 있음)

/*

#include <iostream>

#include <string>

using namespace std;

int main()

{

	string str = "B[45]AB[9994]";

 

	

	int a = str.find("[");

	int b=str.find("]");

	int c=str.find("[",b+1);

	int d=str.find("]",c+1);

 

	string t1 = str.substr(a + 1, b - a + 1);

	string t2 = str.substr(c + 1, d - c + 1);

	

 

 

	int e = stoi(t1);

	int f = stoi(t2);

 

	cout <<e+f;

 

	return 0;

 

}

*/

 

//a,b 두개로

/*

#include <iostream>

#include <string>

using namespace std;

int main()

{

	string str = "ABCAAABCAAABCA";

 

	int cnt = 0;

	int a = 0;

	int b = 0;

 

	while(1){

		a = str.find("ABC", b);

		b = a + 1;

		if (a == -1) break;

 

		cnt++;

		

	}

 

	cout << cnt;

 

	return 0;

}

//a로만

#include <iostream>

#include <string>

using namespace std;

int main()

{

	string str = "ABCAAABCAAABCA";

 

	int cnt = 0;

	int a = 0;

	

 

	while (1) {

		a = str.find("ABC", a);

		

		if (a == -1) break;

 

		cnt++;

		a += 1;

	}

 

	cout << cnt;

 

	return 0;

}*/

 

//gold 개수 찾기

#include <iostream>

#include <string>

using namespace std;

 

int go(string str) {

	int cnt = 0;

	int a = 0;

	while (1) {

		a = str.find("GOLD", a);

		if (a == -1) break;

 

		cnt++;

		a += 1;

	}

 

	return cnt;

}

int main()

{

	string map[4] = {

		"GOLDABGOLD",

		"GOLDTTTT",

		"AGOLDGOLD",

		"GOLDTTTT"

	};

	int cnt = 0;

	for (int i = 0; i<4; i++) {

 

		cnt += go(map[i]);

	}

 

	cout << cnt;

	return 0;

 

}

맨위로

하세요

0개의 댓글