210122|Baek Jun Griddyアルゴリズム1541、11399|C++
8316 ワード
1541
1541号:失われたかっこ
🎈 解決策
stoi(const string& str)
stringをintタイプの関数に変換し、&(reference)を使用してstringを渡します.else temp += str[i];
現在のインデックス文字列が演算子でない場合(else)tempは現在の文字列をif (str[i] == '-' || str[i] == '+' || str[i] == '\0')
演算子が表示される場合if (minus)
resultで以前に表示された演算子がマイナス記号であるかどうかを確認します.if (minus) result -= stoi(temp);
else result += stoi(temp);
状況に応じて-または+計算!if (str[i] == '-') minus = 1;
演算子が-の場合、マイナスboolをtrueにします.#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cin >> str;
string temp = "";
bool minus = false;
int result = 0;
for (int i = 0; i <= str.length(); i++) {
if (str[i] == '-' || str[i] == '+' || str[i] == '\0') {
if (minus)
result -= stoi(temp);
else
result += stoi(temp);
temp = "";
if (str[i] == '-')
minus = 1;
}
else
temp += str[i];
}
cout << result;
}
11399
11399号:ATM
🎈 解決策
この問題の解決策は,入力した時間を昇順に並べ替え,並べ替えた人数順に入力した時間を適用することで,最短時間を得ることができる.#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int N;
cin >> N;
int p[1000];
for (int i = 0; i < N; i++)
cin >> p[i];
sort(p, p + N);
int result = 0;
for (int i = 0; i < N; i++) {
for (int j = 0; j <= i; j++) {
result += p[j];
}
}
cout << result;
}
Reference
この問題について(210122|Baek Jun Griddyアルゴリズム1541、11399|C++), 我々は、より多くの情報をここで見つけました
https://velog.io/@nayeon_p00/210122-백준-그리디-알고리즘-1541-11399-C
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
#include <iostream>
#include <string>
using namespace std;
int main() {
string str;
cin >> str;
string temp = "";
bool minus = false;
int result = 0;
for (int i = 0; i <= str.length(); i++) {
if (str[i] == '-' || str[i] == '+' || str[i] == '\0') {
if (minus)
result -= stoi(temp);
else
result += stoi(temp);
temp = "";
if (str[i] == '-')
minus = 1;
}
else
temp += str[i];
}
cout << result;
}
11399号:ATM
🎈 解決策
この問題の解決策は,入力した時間を昇順に並べ替え,並べ替えた人数順に入力した時間を適用することで,最短時間を得ることができる.
#include <iostream>
#include <algorithm>
using namespace std;
int main() {
int N;
cin >> N;
int p[1000];
for (int i = 0; i < N; i++)
cin >> p[i];
sort(p, p + N);
int result = 0;
for (int i = 0; i < N; i++) {
for (int j = 0; j <= i; j++) {
result += p[j];
}
}
cout << result;
}
Reference
この問題について(210122|Baek Jun Griddyアルゴリズム1541、11399|C++), 我々は、より多くの情報をここで見つけました https://velog.io/@nayeon_p00/210122-백준-그리디-알고리즘-1541-11399-Cテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol