โ 10811 ๋ฐ๊ตฌ๋ ๋ค์ง๊ธฐ โ
#include <iostream>
#include <string>
using namespace std;
void swap(int *a, int *b){
int tmp = *a;
*a = *b;
*b = tmp;
}
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N, M;
cin >> N >> M;
int* basket = new int[N];
for(int x = 0; x < N; x++){
basket[x] = x + 1;
}
for(int x = 0; x < M; x++){
int i, j;
cin >> i >> j;
for(int a = 0; a <= (j-i)/2; a++){
swap(basket[i-1+a], basket[j-1-a]);
}
}
for(int i = 0; i<N; i++){
cout << basket[i] <<' ';
}
return 0;
}
๐ค ๋ฐ๊ตฌ๋ i๋ถํฐ ๋ฐ๊ตฌ๋ j๊น์ง ์ญ์์ผ๋ก ๋ฃ๋ ๋ฐฉ๋ฒ์, iterator x๊ฐ ๋ฐ๊ตฌ๋ i๋ถํฐ (i+j)/2๊น์ง ๋๋ฉฐ ์ ์(x์ ์ swapํ๋ ๋ฐฉ์์ ์๊ฐํ๋ฉด ๋๋ค.
โ 1546 ํ๊ท โ
//1546
#include <iostream>
#include <string>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int N;
cin >> N;
float* grades = new float[N];
int max = -1;
float ans_sum = 0.0;
for(int x = 0; x < N; x++){
int grade;
cin >> grade;
grades[x] = grade;
}
//get max
for(int x = 0; x < N; x++){
if(grades[x] > max){
max = grades[x];
}
}
for(int x = 0; x < N; x++){
grades[x] = ((grades[x])/float(max))*100;
ans_sum += grades[x];
}
cout << ans_sum / N << '\n';
return 0;
}
๐ค float ํํ๋ก ๋ฐฐ์ด๊ณผ ans_sum์ ๋ง๋ค์ด ๋์ ๋ค, ๋ฌธ์ ์ ์ฃผ์ด์ง ๋๋ก (grades[x]/float(max)) * 100์ ๋์ ์ผ๋ก ๋ํด ๋๊ฐ์ ans_sum / N์ ๊ตฌํ๋ค.
โ 10809 ์ํ๋ฒณ ์ฐพ๊ธฐ โ
//10809
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
string S, alphabets = "abcdefghijklmnopqrstuvwxyz";
cin >> S;
for(int x = 0; x < alphabets.length(); x++){
cout << (int)S.find(alphabets[x]) << ' ';
}
cout << '\n';
return 0;
}
๐ค ๋ฌธ์์ด์ find() ํจ์(#include <string>)๋ฅผ ์ฌ์ฉํด ์ฐพ๋ ๋ฌธ์์ด์ด ์๋ค๋ฉด string::npos๊ฐ ๋ฐํ๋๋ค. ์ด๋ ํ ๋ฐ์ดํฐ ํ์ ์ด ๊ฐ๋นํ ์ ์๋ ๋ฒ์ ๋ฐ์ ํฐ ์๋ฅผ ๋ปํ๋ค. ํด๋น ํฐ ์๋ int()๋ฅผ ํตํด ๋ณํํ๋ค๋ฉด ์ค๋ฒํ๋ก์ฐ๊ฐ ๋ฐ์ํด, ์ด ๋ -1์ด ์ถ๋ ฅ. ์ฐพ๊ณ ์ ํ๋ ๋ฌธ์์ด์ด ์์ ๋ -1๋ก ์ถ๋ ฅํ๋ผ๊ณ ํ์ผ๋ฏ๋ก ์์ (int)๋ฅผ ๋ถ์ด๋ฉด ๋๋ค.
โ 1152 ๋จ์ด์ ๊ฐ์ โ
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
string S;
int res = 1;
getline(cin, S);
if (S.length() == 1 && S[0] == ' '){
cout << 0;
return 0;
}
for(int x = 1; x < S.length()-1; x++){
if(S[x] == ' '){
res += 1;
}
}
cout << res << '\n';
return 0;
}
๐ค ๊ณต๋ฐฑ์ ํฌํจํ ํ ์ค์ ์ ๋ ฅ ๋ฐ๊ธฐ ์ํด์๋ getline() ํจ์๋ฅผ ์ฌ์ฉ. getline() ํจ์ ์์ cin๊ณผ ์ ๋ ฅ ๋ฐ์ ๋ฌธ์์ด ๋ณ์ ์ด๋ ๊ฒ 2๊ฐ๋ฅผ ๋ฃ์ผ๋ฉด ๋๋ค.
๐ค ์ถ๊ฐ๋ก ๊ธธ์ด๊ฐ 1์ด๋ฉด์ ๋จ์ํ ๊ณต๋ฐฑ ํ๋๋ผ๋ฉด ๋จ์ด์ ๊ฐ์ 0์ด๋ฏ๋ก 0 ์ถ๋ ฅ / ๋งจ ์์ด ์๋ ๋๋ฒ์งธ ๋ฌธ์๋ถํฐ ๋งจ ๋ค๊ฐ ์๋ ๋งจ ๋ค ๋ฐ๋ก ์์ ๋ฌธ์ ๊น์ง์ ๋ฒ์์์ ' ' ๊ณต๋ฐฑ ๊ฐ์๋ฅผ ํ์ธํ๋ฏ๋ก for๋ฌธ ๋๋ฆฌ๋ ๋ณ์ ๋ฒ์์ ์ฃผ์.
โ 2908 ์์ โ
//2908
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
string A, B;
cin >> A >> B;
for(int i = 2; i >= 0; i--){
if(A[i] > B[i]){
for(int x = 2; x >= 0; x--){
cout << A[x];
}
return 0;
}
else if(B[i] > A[i]){
for(int x = 2; x >= 0; x--){
cout << B[x];
}
return 0;
}
}
return 0;
}
๐ค 0์ด ์๊ณ , ์ฃผ์ด์ง ์ธ ์๋ฆฌ ์ ๊ฐ๊ฐ ๋ค์ง์์ ๋ ๋ฌด์์ด ๋ ํฐ ์ง ๋น๊ตํ๋ ๋ฌธ์ ์ด๋ฏ๋ก, ๊ฑฐ๊พธ๋ก index 2๋ถํฐ ์ง์ String์ indexing์ผ๋ก ๋น๊ตํ์ฌ ๋ฌด์์ด ๋ ํฌ๊ณ ์์ ์ง ๋น๊ต๊ฐ ๊ฐ๋ฅํ๋ฉด ๋ฐ๋ก ๋ฆฌํดํ๊ณ ์ข ๋ฃ.
โ 5622 ๋ค์ด์ผ โ
//5622
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
string word;
int time[] = {3,3,3,4,4,4,5,5,5,6,6,6,7,7,7,8,8,8,8,9,9,9,10,10,10,10}, res = 0;
cin >> word;
for(int i = 0; i < word.length(); i++){
res += time[word[i]-'A'];
}
cout << res;
return 0;
}
๐ค ์์คํค ์ฝ๋๋ฅผ ํ์ฉํด 'B'-'A'๋ก ์ฃผ์ด์ง ๊ฐ๊ฒฉ์ด 1์ด๋ผ๋ฉด ๋ฐฐ์ด๋ก ๋ง๋ค์ด ๋์ time์ ํ์ฉํด ๊ฐ๊ฒฉ๋งํผ์ indexing ๊ฒฐ๊ณผ ๋์ ์ผ๋ก ํฉํด์ ์ถ๋ ฅ
๐ค time[]์ผ๋ก ๋ฏธ๋ฆฌ []์์ ๋ช ๊ฐ์ ์์๊ฐ ๋ค์ด๊ฐ๋ ์ง ์ ํ ํ์ x
โ 2738 ํ๋ ฌ ๋ง์ โ
//2738
#include <iostream>
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
int n, m;
cin >> n >> m;
int **arr1 = new int *[n];
int **arr2 = new int *[n];
for(int i = 0; i < n; i++){
arr1[i] = new int[m];
arr2[i] = new int[m];
}
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
cin >> arr1[i][j];
for (int i = 0; i < n; i++)
for (int j = 0; j < m; j++)
cin >> arr2[i][j];
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++)
cout << arr1[i][j] + arr2[i][j] << ' ';
cout << '\n';
}
return 0;
}
๐ค nxm ํํ์ 2์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ค ๋, ** ์ด์ค ํฌ์ธํฐ๋ก arr1๊ณผ arr2 ํฐ ํ์ 2์ฐจ์ ๋ฐฐ์ด์ ๋ง๋ ๋ค(int **arr1 = new int*[n]). ๊ทธ๋ฆฌ๊ณ for๋ฌธ์ n๋ฒ ๋๋ ค ๊ฐ ํ ๋ด์ arr1[i] = new int[m] ์ฝ๋๋ฅผ ๋ฃ์์ผ๋ก์จ nxm ํํ์ 2์ฐจ์ ๋ฐฐ์ด ํ์ ๋ง๋ ๋ค.
โ 10798 ์ธ๋ก์ฝ๊ธฐ โ
//10798
#include <iostream>
#include <iostream>
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
int main() {
string arr[5];
for (int i = 0; i < 5; i++) {
cin >> arr[i];
}
for(int i = 0; i < 15; i++){
for(int j = 0; j < 5; j++){
if(i <= arr[j].size()-1){
cout << arr[j][i];
}
}
}
return 0;
}
๐ค 1์ฐจ์ ๋ฐฐ์ด string์ผ๋ก arr[5] ๋ง๋ ๋ค์, ๊ฐ ์ค ์ ๋ ฅ์ผ๋ก 1์ฐจ์ ๋ฐฐ์ด ๋ด์ ๊ฐ๊ฐ์ ๊ธด ๋ฌธ์์ด์ด ์์๋ก ๋ค์ด๊ฐ๊ฒ ๋ง๋ฆ.
๐ค i <= arr[j].size() - 1 ์กฐ๊ฑด์ด ๋ง์ ๋๋ง arr[j][i]๋ก, index๋ฅผ i์ j๋ฅผ ๋ฐ๊ฟ์ ์ถ๋ ฅํ๋ฉด ๋ฌธ์ ์์ ์๊ตฌํ๋ ๋๋ก ์ธ๋ก๋ก ์ฝ์ ๊ฒฐ๊ณผ๋ก ์ถ๋ ฅ
'C, C++ > ๐ฅ BOJ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
(C++)โ Sorting Upper-Beginner I - 1 Solvedโ (0) | 2024.11.14 |
---|---|
(C++)โ Math & Geometry Upper-Beginner I - 1 Solvedโ (0) | 2024.11.14 |
(C++) โ Number Theory Upper-Beginner I - 3 Solvedโ (0) | 2024.11.14 |
(C++) โ Implementation Beginner I - 28 Solvedโ (0) | 2024.11.13 |
(C++) โ Basics I - 16 Solvedโ (0) | 2024.11.13 |
๋๊ธ