Level 32 - 7번

computer_log·2023년 8월 29일
0

1)한칸씩 해보기

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

int main() {
	string str = "852";
	vector<int>v;

	for (int i = 0; i < str.length(); i++) {
		char ch = str[i];
		int num = ch - '0';
		v.push_back(num);
	}
	
	for (int i = 0; i < 2; i++) {
		int wind;
		cin >> wind;
		if (wind > v[v.size() - 1])v.pop_back();
		else {
			int num = v[v.size() - 1];
			v.pop_back();
			num = num - wind;
			v.push_back(num);
		}
	}
	for (int i = 0; i < v.size(); i++) {
		cout << v[i] << " ";
	}

	return 0;
}

2)

풀어따아아아!!!!!!

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

int main() {
	string str[4] = { "852","51","5","3" };
	vector<vector<int>>v(4);

	for (int i = 0; i < 4; i++) {
		for (int j = 0; j < str[i].length(); j++) {
			char ch = str[i][j];
			int num = ch - '0';
			v[i].push_back(num);
		}
	}
	int k = 2;
	for (int x = 0; x < k; x++) {
		int wind;
		cin >> wind;
		for (int i = 0; i < 4; i++) {
			if (v[i].size() == 0)continue;
			if (wind > v[i][v[i].size() - 1]) {
				v[i].pop_back();
			}
			else {
				int num = v[i][v[i].size() - 1];
				v[i].pop_back();
				num = num - wind;
				v[i].push_back(num);

			}
		}
	}
	for (int i = 0; i < 4; i++) {
		for (int j = 0; j < v[i].size(); j++) {
			cout << v[i][j] << " ";
		}
		cout << endl;
	}
	return 0;
}

[입력 처리까지]

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

int main() {
	string str[10];
	
	//입력 좌표 수
	int n;
	int k;
	int y, x;
	cin >> n;
	vector<vector<int>>v(n);
	for (int i = 0; i < n; i++) {
		cin >> y >> x >> str[i];
	}
	for (int i = 0; i < n; i++) {
		for (int j = 0; j < str[i].length(); j++) {
			char ch = str[i][j];
			int num = ch - '0';
			v[i].push_back(num);
		}
	}
	//강풍 횟수 입력
	cin >> k;
	for (int x = 0; x < k; x++) {
		int wind;
		cin >> wind;
		for (int i = 0; i < n; i++) {
			if (v[i].size() == 0)continue;
			if (wind > v[i][v[i].size() - 1]) {
				v[i].pop_back();
			}
			else {
				int num = v[i][v[i].size() - 1];
				v[i].pop_back();
				num = num - wind;
				v[i].push_back(num);

			}
		}
	}
	int cnt = 0;
	for (int i = 0; i < v.size(); i++) {
		if (i!=0)cnt++;
	}
	cout << cnt << "\n";
	
	
	return 0;
}

뀨,,힘들었도다,,
더쉬운방법이 있었지만,,

profile
computer_log

0개의 댓글