๐ ๊ณต๋ถํ๋ ์ง์ง์ํ์นด๋ ์ฒ์์ด์ง?
[BAEKJOON C++] 5218_์ํ๋ฒณ ๊ฑฐ๋ฆฌ ๋ณธ๋ฌธ
728x90
๋ฐ์ํ
๊ธธ์ด๊ฐ ๊ฐ์ ๋ ๋จ์ด๊ฐ ์ฃผ์ด์ก์ ๋,
๊ฐ ๋จ์ด์ ํฌํจ๋ ๋ชจ๋ ๊ธ์์ ์ํ๋ฒณ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๋ ๊ธ์ 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์ด๋ค.
์ ๋ ฅ
์ฒซ์งธ ์ค์ ํ ์คํธ ์ผ์ด์ค์ ์ (< 100)๊ฐ ์ฃผ์ด์ง๋ค.
๊ฐ ํ ์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๋ ๋จ์ด๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด์ ธ ์๋ค.
๋จ์ด์ ๊ธธ์ด๋ 4๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 20๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฉฐ,
์ํ๋ฒณ ๋๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ค.
์ถ๋ ฅ
๊ฐ ํ ์คํธ ์ผ์ด์ค ๋ง๋ค ๊ฐ ๊ธ์์ ์ํ๋ฒณ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ถ๋ ฅํ๋ค.
// [5218] ์ํ๋ฒณ ๊ฑฐ๋ฆฌ
/*
๊ธธ์ด๊ฐ ๊ฐ์ ๋ ๋จ์ด๊ฐ ์ฃผ์ด์ก์ ๋,
๊ฐ ๋จ์ด์ ํฌํจ๋ ๋ชจ๋ ๊ธ์์ ์ํ๋ฒณ ๊ฑฐ๋ฆฌ๋ฅผ ๊ตฌํ๋ ํ๋ก๊ทธ๋จ์ ์์ฑํ์์ค.
๋ ๊ธ์ 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์ด๋ค.
์
๋ ฅ
์ฒซ์งธ ์ค์ ํ
์คํธ ์ผ์ด์ค์ ์ (< 100)๊ฐ ์ฃผ์ด์ง๋ค.
๊ฐ ํ
์คํธ ์ผ์ด์ค๋ ํ ์ค๋ก ์ด๋ฃจ์ด์ ธ ์๊ณ , ๋ ๋จ์ด๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ๋์ด์ ธ ์๋ค.
๋จ์ด์ ๊ธธ์ด๋ 4๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 20๋ณด๋ค ์๊ฑฐ๋ ๊ฐ์ผ๋ฉฐ,
์ํ๋ฒณ ๋๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์๋ค.
์ถ๋ ฅ
๊ฐ ํ
์คํธ ์ผ์ด์ค ๋ง๋ค ๊ฐ ๊ธ์์ ์ํ๋ฒณ ๊ฑฐ๋ฆฌ๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํด ์ถ๋ ฅํ๋ค.
*/
#define _CRT_SECURE_NO_WARNINGS
// ํ์ค ์คํธ๋ฆผ์์ ์ฝ๊ธฐ ๋ฐ ์ฐ๊ธฐ๋ฅผ ์ ์ดํ๋ ๊ฐ์ฒด๋ฅผ ์ ์ธ
#include <iostream>
#include <algorithm> // find
#include <string>
#include <cmath> // abs
#include <vector>
#include <queue>
using namespace std;
int main() {
int N;
cin.tie(0);
cin >> N;
for (int i = 0; i < N; i++) {
string x, y; // ๋ ๋จ์ด๊ฐ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถ
cin >> x >> y;
cout << "Distances: ";
for (int j = 0; j < x.length(); j++) {
int X = x[j] - 'A';
int Y = y[j] - 'A';
if (Y - X >= 0) {
cout << Y - X << " ";
}
else {
cout << Y - X + 26 << " ";
}
}
cout << "\n";
}
return 0;
}
728x90
๋ฐ์ํ
'๐ฆฅ ์ฝํ > BAEKJOON' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[BAEKJOON C++] 2822_์ ์ ๊ณ์ฐ (0) | 2023.08.14 |
---|---|
[BAEKJOON C++] 11944_NN (0) | 2023.08.13 |
[BAEKJOON C++] 5176_๋ํ ์๋ฆฌ (0) | 2023.08.13 |
[BAEKJOON C++] 5576_์ฝํ ์คํธ (0) | 2023.08.12 |
[BAEKJOON C++] 9076_์ ์ ์ง๊ณ (0) | 2023.08.12 |
Comments