반응형
https://www.acmicpc.net/problem/1339
1339번: 단어 수학
첫째 줄에 단어의 개수 N(1 ≤ N ≤ 10)이 주어진다. 둘째 줄부터 N개의 줄에 단어가 한 줄에 하나씩 주어진다. 단어는 알파벳 대문자로만 이루어져있다. 모든 단어에 포함되어 있는 알파벳은 최대
www.acmicpc.net
[ 문제풀이 ]
1. 각 문자의 자릿수 값을 저장할 box 배열을 선언합니다.
2. 각 단어가 입력될 때마다 각 자릿수의 문자에 10의 n승을 곱해 더해줍니다.
3. box 배열을 내림차순으로 정렬하고, box[ 0 ] ~ box[ 9 ] 까지의 값에 9 ~ 0의 값을 곱해 더해준 값을 출력합니다.
[ 소스코드 ]
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 28 29 30 31 32 33 34 35 36 37 38 39 | #include<iostream> #include<string> #include<cmath> #include<algorithm> using namespace std; int N; int box[26]; int ans; int main() { ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL); cin >> N; for (int i = 0; i < N; i++) { string str; cin >> str; for (int j = 0; j < str.size(); j++) { box[str[j] - 'A'] += pow(10, str.size() - j - 1); } } sort(box, box + 26, greater<>()); int seq = 0; for (int i = 9; i >= 0; i--) { ans += box[seq] * i; seq++; } cout << ans; } | cs |
반응형
'백준' 카테고리의 다른 글
[ 백준 ] 1486번 - 등산 (C++) (0) | 2023.09.03 |
---|---|
[ 백준 ] 7299번 - Food Cubes (C++) (0) | 2023.09.02 |
[ 백준 ] 6067번 - Guarding the Farm (C++) (0) | 2023.08.31 |
[ 백준 ] 2610번 - 회의준비 (C++) (0) | 2023.08.30 |
[ 백준 ] 28421번 - 곱하기와 쿼리 (C++) (0) | 2023.08.29 |