
생각
1. 입력받은 문자열의 길이만큼 반복
2. 각 문자에 해당하는 숫자를 sec변수에 더해줌
#include <iostream>
#include <string>
using namespace std;
int main() {
int sec = 0;
string str;
cin >> str;
for(int i=0; i<str.length(); i++){
if(str[i] == 'A' || str[i] == 'B' || str[i] == 'C' ) {sec += 3;}
else if(str[i] == 'D' || str[i] == 'E' || str[i] == 'F' ) {sec += 4;}
else if(str[i] == 'G' || str[i] == 'H' || str[i] == 'I' ) {sec += 5;}
else if(str[i] == 'J' || str[i] == 'K' || str[i] == 'L' ) {sec += 6;}
else if(str[i] == 'M' || str[i] == 'N' || str[i] == 'O' ) {sec += 7;}
else if(str[i] == 'P' || str[i] == 'Q' || str[i] == 'R' || str[i] == 'S' ) {sec += 8;}
else if(str[i] == 'T' || str[i] == 'U' || str[i] == 'V') {sec += 9;}
else{sec += 10;}
}
cout << sec;
return 0;
}
몇 번 시도를 했다. 분명 오류가 없는데, 오답으로 나왔다. sec변수를 0으로 초기화하지 않아서 그렇다. 내가 테스트한 케이스에서는 모두 정상동작했지만, 데이터사이즈가 커질 때 영향이 있나보다. 변수 초기화하는 습관을 들이자
분명 이렇게 조건문 덕지덕지가 아닐 거라 생각하고 다른 사람의 답안을 찾아봤는데 아스키 코드 값으로 범위를 지정하더라. 똑똑한사람들!
'공부기록 > [Algorithm]' 카테고리의 다른 글
| 백준 2563번 <색종이> - C++ (0) | 2024.08.06 |
|---|---|
| 백준 1157번 <단어 공부> - C++ (0) | 2024.08.04 |
| 백준 1152번 <단어의 개수> - C++ (0) | 2024.08.03 |
| 백준 2675번 <문자열 반복> - C++ (3) | 2024.08.03 |
| 백준 10811번 <바구니 뒤집기> - C++ (1) | 2024.08.02 |