/images/logo.png

[백준]10820 문자열 분석

https://www.acmicpc.net/problem/10820 풀이: [C++]대소문자, 숫자 구분함수 참고 따로 종료 조건이 없으므로 EOF 처리를 해주자. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include <iostream>#include <string>using namespace std; int main() { string s; while (getline(cin, s)) { int a = 0, b = 0, c = 0, d = 0; for (char i : s) if (islower(i)) a++; else if (isupper(i)) b++; else if (isdigit(i)) c++; else d++; printf("%d %d %d %d\n", a, b, c, d); } }

[백준]10988 팰린드롬인지 확인하기

https://www.acmicpc.net/problem/10988 풀이: 팰린드롬 : 기러기, 토마토 등 뒤집어도 같은단어 주어진 단어가 팰린드롬이라면 1, 아니라면 0을 출력한다. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 11 #include <iostream>using namespace std; int main() { string a; bool b = true; cin >> a; for (int i = 0; i < a.size() / 2; i++) if (a[i] != a[a.size() - i - 1]) b = false; if (b) cout << "1" << endl; else cout << "0" << endl; }

[백준]10991 별 찍기 - 16

https://www.acmicpc.net/problem/10991 풀이: N개의 줄에 N개의 글자를 출력한다. 첫 줄에는 N-1개의 " “와 1개의 “* “을 두 번째 줄에는 N-2개의 " “와 2개의 “* “을 . . . i번째 줄에는 N-i개의 " “와 i개의 “* “을 출력한다. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 11 #include <iostream>using namespace std; int N, i, t; int main() { cin >> N; for (i = 0; i < N; i++) { for (t = 1; t < N - i; t++) cout << " "; for (; t <= N; t++) cout << "* "; cout << endl; } }

[백준]10992 별 찍기 - 17

https://www.acmicpc.net/problem/10992 풀이: 첫줄에 1개, 마지막줄에 2 * N - 1개 i번째 줄에는 N - i 칸 띄고, “” 한개, 2 * i - 1 칸 띄고, “” 한개 출력한다. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 11 12 13 #include <iostream>using namespace std; int N, i, t; int main() { cin >> N; for (i = 0; i < N; i++) { for (t = 1; t < N - i; t++) cout << " "; cout << "*"; for (t = 0; t < 2 * i - 1; t++) printf("%s", i == N - 1 ?

[백준]11659 구간 합 구하기

https://www.acmicpc.net/problem/11659 풀이: a[i] : 1 ~ i 까지의 구간 합 i ~ j 까지의 구간 합 = 1 ~ j 까지의 구간 합 - 1 ~ i - 1 까지의 구간 합 cin, cout 은 시간초과가 나므로 주의하자. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 #include <iostream>using namespace std; int N, M, q, w, i, a[100002]; int main() { scanf("%d%d",&N,&M); for (i = 1; i <= N; i++){ scanf("%d",&q); a[i] = a[i - 1] + q; } while (M--) { scanf("%d%d",&q,&w); printf("%d\n", a[w] - a[q - 1]); } }

[백준]11728 배열 합치기

https://www.acmicpc.net/problem/11728 풀이: n + m 만큼의 숫자를 받아온다. 받아온 숫자를 정렬하여 출력한다. cin, cout 은 시간초과가 나므로 주의하자. 코드: 사용언어 : c++ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 #include <iostream>#include <queue>using namespace std; int n, m; int main() { scanf("%d%d",&n,&m); n += m; priority_queue<int, vector<int>, greater<int>> a; while (n--) { scanf("%d",&m); a.push(m); } while (!a.empty()) printf("%d ",a.top()), a.pop(); printf("\n"); }