-
백준 5218번: 알파벳 거리문자열(String) 2018. 6. 27. 21:28반응형
https://www.acmicpc.net/problem/5218
1. 문제
길이가 같은 두 단어가 주어졌을 때, 각 단어에 포함된 모든 글자의 알파벳 거리를 구하는 프로그램을 작성하시오.
두 글자 x와 y 사이의 알파벳 거리를 구하려면, 먼저 각 알파벳에 숫자를 할당해야 한다.
'A'=1, 'B' = 2, ..., 'Z' = 26. 그 다음 y ≥ x인 경우에는 y-x, y < x인 경우에는 (y+26) - x가 알파벳 거리가 된다.
예를 들어, 'B'와 'D' 사이의 거리는 4 - 2 = 2이고, 'D'와 'B' 사이의 거리는 (2+26) - 4 = 24이다.
2. 알고리즘
키워드 - 문자열
3. 코드
12345678910111213141516171819202122232425262728293031323334353637383940414243#include <iostream>#include <algorithm> // min#include <functional>#include <math.h>#include <string>#include <string.h>#include <vector>#include <map>#include <cmath>#include <sstream>#define M_PI 3.14159265358979323846using namespace std;int main(){std::ios::sync_with_stdio(false); cin.tie(0);int n; cin >> n;while (n--) {string s; cin >> s;string ss; cin >> ss;cout << "Distances: ";const int size = s.size();for (int i = 0; i < size; i++) {int d = 0;if (ss[i] < s[i]) {d = ss[i] + 26 - s[i];}else {d = abs(s[i] - ss[i]);}cout << d << " ";}cout << "\n";}return 0;}cs 반응형'문자열(String)' 카테고리의 다른 글
백준 1120번: 문자열 (0) 2018.06.29 백준 3986번: 좋은 단어 (0) 2018.06.27 백준 10988번: 팰린드롬인지 확인하기 (0) 2018.06.27 백준 1152번: 단어의 개수 (0) 2018.06.27 백준 15837번 : 백준 온라인 저지 (0) 2018.06.20