
๐ปQ
์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์กฐ์ด์คํฑ
์กฐ์ด์คํฑ์ผ๋ก ์ํ๋ฒณ ์ด๋ฆ์ ์์ฑํ์ธ์. ๋งจ ์ฒ์์ A๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ex) ์์ฑํด์ผ ํ๋ ์ด๋ฆ์ด ์ธ ๊ธ์๋ฉด AAA, ๋ค ๊ธ์๋ฉด AAAA ์กฐ์ด์คํฑ์ ๊ฐ ๋ฐฉํฅ์ผ๋ก ์์ง์ด๋ฉด ์๋์ ๊ฐ์ต๋๋ค. โฒ - ๋ค
programmers.co.kr
๐กA
public class Solution { public int solution(String name) { int answer = 0; int len = name.length(); //name ๊ธธ์ด ์ ์ฅ //์ ์ผ ์งง์ ์ข, ์ฐ ์ด๋์ ๋งจ ์ค๋ฅธ์ชฝ ์ด๋ํ ๋ int min = len - 1; for(int i=0; i<len; i++) { char c = name.charAt(i); //์ํ ์ด๋์ ๋ํ ์กฐ์ ํ์๊ฐ ์ ์ ๊ฒ์ผ๋ก ์ ํ answer += Math.min(c - 'A', 'Z' - c + 1); //๋ค์ ๊ธ์๋ถํฐ A๊ฐ ์ฐ์์ผ๋ก ๋์ฌ ๋, ์ด๋ ๋ฐฉํฅ์ผ๋ก ์ปค์๋ฅผ ์ด๋ํ๋ ๊ฒ์ด ํ์๊ฐ ์ ์์ง ์ฒดํฌ int next = i + 1; //๋ค์ ๋จ์ด๊ฐ A์ด๊ณ , ๋จ์ด๊ฐ ๋๋๊ธฐ ์ ๊น์ง next ์ฆ๊ฐ while(next < len && name.charAt(next) == 'A') { next++; } //i * 2๋ ๊ธฐ์กด ์ข์ฐ์ด๋ ๋ฐฉํฅ์ ๋ฐ๊ฟ ํ์ํ๋ ๊ฒฝ์ฐ //์ฒซ๊ธ์์์ ๋๊น์ง ์ค๋ฅธ์ชฝ์ผ๋ก๋ง ์ด๋ํ๋๊ฒ๊ณผ i๋ฒ๊น์ง ์ค๋ฅธ์ชฝ์ผ๋ก ์ด๋ํ๊ณ ์ผ์ชฝ์ผ๋ก ์ด๋ํ์ฌ next๊น์ง ์ด๋ํ๋๊ฒ์ค ์กฐ์ ํ์๊ฐ ์ ์ ๊ฒ์ ์ ํ min = Math.min(min, (i * 2) + len - next); } answer += min; return answer; } }
๐์ฐธ๊ณ
[ํ๋ก๊ทธ๋๋จธ์ค - Java] ์กฐ์ด์คํฑ
https://programmers.co.kr/learn/courses/30/lessons/42860# ์ฝ๋ฉํ ์คํธ ์ฐ์ต - ์กฐ์ด์คํฑ ์กฐ์ด์คํฑ์ผ๋ก ์ํ๋ฒณ ์ด๋ฆ์ ์์ฑํ์ธ์. ๋งจ ์ฒ์์ A๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค. ex) ์์ฑํด์ผ ํ๋ ์ด๋ฆ์ด ์ธ ๊ธ์๋ฉด AAA,..
excited-hyun.tistory.com
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ํ๋ก๊ทธ๋๋จธ์ค K๋ฒ์งธ ์ (0) | 2021.10.30 |
|---|---|
| ํ๋ก๊ทธ๋๋จธ์ค ์ฌ ์ฐ๊ฒฐํ๊ธฐ (0) | 2021.10.27 |
| [10์ฃผ์ฐจ] ํ๋ก๊ทธ๋๋จธ์ค ์ด์ค์ฐ์ ์์ํ (0) | 2021.10.02 |
| [10์ฃผ์ฐจ] ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋งต๊ฒ (0) | 2021.10.01 |
| [10์ฃผ์ฐจ] ํ๋ก๊ทธ๋๋จธ์ค ํ๋ฆฐํฐ (0) | 2021.09.30 |