์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
- DFS
- ๋ค์ด๋๋ฏนํ๋ก๊ทธ๋๋ฐ
- ๋์ ํฉ
- ์ํ
- ์ค๋ธ์
- ๊ตฌํ
- SQL
- ๊ทธ๋ฆฌ๋
- db
- DP
- ์๊ณ ๋ฆฌ์ฆ
- ์ฐ์ ์์ํ
- ๋๋น์ฐ์ ํ์
- ๋จธ์ง์ํธ
- ์์๊ตฌํ๊ธฐ
- ๋ฐฑ์ค
- LIS
- ๊น์ด์ฐ์ ํ์
- ์๋ฃ๊ตฌ์กฐ
- ๋ณํฉ์ ๋ ฌ
- ์ ๋ ฌ
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- BFS
- ํ์ด์ฌ
- ํ๋ก๊ทธ๋๋จธ์ค
- ์์ํ์
- ๊ทธ๋ํ
- ํฐ์คํ ๋ฆฌ์ฑ๋ฆฐ์ง
- ๋์ ๊ณํ๋ฒ
- ๊ทธ๋ํํ์
๐๐ญ๐ฐ๐ธ ๐ฃ๐ถ๐ต ๐ด๐ต๐ฆ๐ข๐ฅ๐บ
[ํ๋ก๊ทธ๋๋จธ์ค] ์กฐ์ด์คํฑ - C++ ๋ณธ๋ฌธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์กฐ์ด์คํฑ - C++
.23 2024. 4. 11. 09:43๋ฌธ์
์กฐ์ด์คํฑ์ผ๋ก ์ํ๋ฒณ ์ด๋ฆ์ ์์ฑํ์ธ์. ๋งจ ์ฒ์์ A๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
ex) ์์ฑํด์ผ ํ๋ ์ด๋ฆ์ด ์ธ ๊ธ์๋ฉด AAA, ๋ค ๊ธ์๋ฉด AAAA
์กฐ์ด์คํฑ์ ๊ฐ ๋ฐฉํฅ์ผ๋ก ์์ง์ด๋ฉด ์๋์ ๊ฐ์ต๋๋ค.
โฒ - ๋ค์ ์ํ๋ฒณ
โผ - ์ด์ ์ํ๋ฒณ (A์์ ์๋์ชฝ์ผ๋ก ์ด๋ํ๋ฉด Z๋ก)
โ - ์ปค์๋ฅผ ์ผ์ชฝ์ผ๋ก ์ด๋ (์ฒซ ๋ฒ์งธ ์์น์์ ์ผ์ชฝ์ผ๋ก ์ด๋ํ๋ฉด ๋ง์ง๋ง ๋ฌธ์์ ์ปค์)
โถ - ์ปค์๋ฅผ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ (๋ง์ง๋ง ์์น์์ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ํ๋ฉด ์ฒซ ๋ฒ์งธ ๋ฌธ์์ ์ปค์)
์๋ฅผ ๋ค์ด ์๋์ ๋ฐฉ๋ฒ์ผ๋ก "JAZ"๋ฅผ ๋ง๋ค ์ ์์ต๋๋ค.
- ์ฒซ ๋ฒ์งธ ์์น์์ ์กฐ์ด์คํฑ์ ์๋ก 9๋ฒ ์กฐ์ํ์ฌ J๋ฅผ ์์ฑํฉ๋๋ค.
- ์กฐ์ด์คํฑ์ ์ผ์ชฝ์ผ๋ก 1๋ฒ ์กฐ์ํ์ฌ ์ปค์๋ฅผ ๋ง์ง๋ง ๋ฌธ์ ์์น๋ก ์ด๋์ํต๋๋ค.
- ๋ง์ง๋ง ์์น์์ ์กฐ์ด์คํฑ์ ์๋๋ก 1๋ฒ ์กฐ์ํ์ฌ Z๋ฅผ ์์ฑํฉ๋๋ค.
๋ฐ๋ผ์ 11๋ฒ ์ด๋์์ผ "JAZ"๋ฅผ ๋ง๋ค ์ ์๊ณ , ์ด๋๊ฐ ์ต์ ์ด๋์
๋๋ค.
๋ง๋ค๊ณ ์ ํ๋ ์ด๋ฆ name์ด ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์ด๋ฆ์ ๋ํด ์กฐ์ด์คํฑ ์กฐ์ ํ์์ ์ต์๊ฐ์ return ํ๋๋ก solution ํจ์๋ฅผ ๋ง๋์ธ์.
์ ํ ์ฌํญ
- name์ ์ํ๋ฒณ ๋๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- name์ ๊ธธ์ด๋ 1 ์ด์ 20 ์ดํ์ ๋๋ค.
์ ์ถ๋ ฅ ์
name | return |
"JEROEN" | 56 |
"JAN" | 23 |
๊ทธ๋ฆฌ๋๋ฅผ ํ์ฉํ ๋ฌธ์ .
๊ทธ๋ฆฌ๋์ ์๋ ์ฝํด์ ์ ๊ทผ๋ ๋ชปํ๊ณ 2์ผ ๋ด๋ด ๋จ์ ์ฝ๋ ์ํ๋ง ํ๋ค ๊ฒจ์ฐ ํด๊ฒฐํ๋ค.
์กฐ์ด์คํฑ์ ์/ํ๋ก ์์ง์ด๋ ํ์๋ ์ด์ฐจํผ ์ํ๋ฒณ๋ณ๋ก ๊ณ ์ ๋์ด์๊ธฐ ๋๋ฌธ์, ์ข/์ฐ ์ด๋ํ์๋ฅผ ์ต์ํํ๋ ๋ฐฉ๋ฒ์ ๊ตฌํ๋ ๊ฒ์ด ์ค์ํ๋ค.
์ด ๋ ์ค์ํ๊ฑด ์ฐ์๋ A์ ์์ด๋ค.
๋ฐ๋ผ์ ์ ๋ ฅ๋ฐ์ ์ด๋ฆ์ ๊ธธ์ด๋งํผ loop๋ฅผ ๋๋ฉด์
- ํ ๋ฐฉํฅ์ผ๋ก ๊ทธ๋ฅ ์ญ ์ด๋ํ๊ธฐ
- (i + 1)๋ฒ์งธ๋ถํฐ ์ฐ์๋ A๊ฐ ๋ฑ์ฅํ ๊ฒฝ์ฐ, ์ฐ์๋ A ๋์ ๋ค์ ์์น๋ฅผ cursor๋ผ ํ ๋
- ์์์๋ถํฐ ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ํ๋ค๊ฐ i๋ฒ์งธ ๊ธ์์์ ๋ค์ ๋ค๋ก(์ผ์ชฝ์ผ๋ก) ๋์๊ฐ๊ธฐ
- ๋ค์์๋ถํฐ ์ผ์ชฝ์ผ๋ก ์ด๋ํ๋ค๊ฐ ๋ค์ i๋ฒ์งธ ๊ธ์๊น์ง ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ํ๊ธฐ
์ ๊ธธ์ด ์ค ๊ฐ์ฅ ์งง์ ๊ฑฐ๋ฆฌ๋ฅผ ๋น๊ตํด์ค๋ค.
์ฝ๋
#include <string>
#include <vector>
using namespace std;
int min(int a, int b) {
return a > b ? b : a;
}
int solution(string name) {
int answer = 0;
int len = name.length();
int move = len - 1;
for(int i = 0; i < len; i++) {
answer += (name[i] - 'A' <= 13 ? name[i] - 'A' : 26 - (name[i] - 'A'));
int cursor = i + 1;
while(cursor < len && name[cursor] == 'A') cursor++;
move = min(move, i + len - cursor + min(i, len - cursor));
}
return answer + move;
}
'์ฝ๋ฉํ ์คํธ ์ค๋น > ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ ๋งต๊ฒ - C++ (0) | 2024.04.11 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] N์ผ๋ก ํํ - C++ (0) | 2024.04.11 |
[ํ๋ก๊ทธ๋๋จธ์ค] ํ๋ก์ธ์ค - C++ (0) | 2024.04.08 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ ๋์งํ - C++ (0) | 2024.04.04 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฌ๋ฐ๋ฅธ ๊ดํธ - C++ (0) | 2024.04.04 |