[백준 29716] 풀만한문제 (C#, C++) - soo:bak
작성일 :
문제 링크
설명
각 문제 문자열의 크기를 계산해 잡초 크기 이하인 문제의 개수를 출력하는 문제입니다.
접근법
문자별 크기를 더해 한 줄의 크기를 계산합니다.
크기가 J 이하인 줄의 개수를 세면 됩니다.
Code
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
using System;
class Program {
static void Main() {
var first = Console.ReadLine()!.Split();
var j = int.Parse(first[0]);
var n = int.Parse(first[1]);
var cnt = 0;
for (var i = 0; i < n; i++) {
var line = Console.ReadLine()!;
var size = 0;
foreach (var ch in line) {
if (ch >= 'A' && ch <= 'Z') size += 4;
else if ((ch >= 'a' && ch <= 'z') || (ch >= '0' && ch <= '9')) size += 2;
else size += 1;
}
if (size <= j) cnt++;
}
Console.WriteLine(cnt);
}
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(nullptr);
int j, n; cin >> j >> n;
string line;
getline(cin, line);
int cnt = 0;
for (int i = 0; i < n; i++) {
getline(cin, line);
int size = 0;
for (char ch : line) {
if ('A' <= ch && ch <= 'Z') size += 4;
else if (('a' <= ch && ch <= 'z') || ('0' <= ch && ch <= '9')) size += 2;
else size += 1;
}
if (size <= j) cnt++;
}
cout << cnt << "\n";
return 0;
}