๐Ÿ˜Ž ๊ณต๋ถ€ํ•˜๋Š” ์ง•์ง•์•ŒํŒŒ์นด๋Š” ์ฒ˜์Œ์ด์ง€?

[BAEKJOON C++] 5218_์•ŒํŒŒ๋ฒณ ๊ฑฐ๋ฆฌ ๋ณธ๋ฌธ

๐Ÿฆฅ ์ฝ”ํ…Œ/BAEKJOON

[BAEKJOON C++] 5218_์•ŒํŒŒ๋ฒณ ๊ฑฐ๋ฆฌ

์ง•์ง•์•ŒํŒŒ์นด 2023. 8. 13. 23:34
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
๋ฐ˜์‘ํ˜•
Comments