알고리즘 · 코딩
[SWEA 4261] 빠른 휴대전화 키패드
G A
2020. 6. 4. 15:56
문제 링크
https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AWLL7kaaAPsDFAUW
SW Expert Academy
SW 프로그래밍 역량 강화에 도움이 되는 다양한 학습 컨텐츠를 확인하세요!
swexpertacademy.com
C++ 풀이
#include <string>
#include <vector>
#include <iostream>
using namespace std;
int main() {
string S, temp, answer;
vector <char> keypad = { 'Z', 'c', 'f', 'i', 'l', 'o', 's', 'v', 'z' };
int T, N, sum, check;
cin >> T;
for (int i = 1; i <= T; i++) {
sum = 0;
cin >> S >> N;
for (int j = 0; j < N; j++) {
check = 0;
cin >> temp;
if (temp.length() != S.length())
continue;
for (int k = 0; k < temp.length(); k++) {
if (((int)temp[k] > (int)keypad[S[k] - 50]) && (int)temp[k] <= (int)keypad[S[k] - 49])
check++;
}
if (check == S.length())
sum++;
}
answer += "#" + to_string(i) + " " + to_string(sum) + "\n";
}
cout << answer;
return 0;
}
문자를 int형으로 변환하여 값을 비교하여 풀었다.
반응형