์ํธ ํด๋ (with.Java)
โ์ํธ ํด๋ โ ๋ฌธ์ ์ ๋ํ์ฌ ์์๋ณธ ๊ธ์ ๋๋ค.
์ฝ๋ฉ ํ ์คํธ ๋ฌธ์ ๋ฅผ ํ๋ฉฐ, ํ์๋ ๋ฌธ์ ์ ๋ํ ํ๊ณ ์ ๋ค๋ฅธ ํ์ด ๋ฐฉ๋ฒ์ ์์๋ณด๋ฉฐ, ์์๊ฐ๊ณ ์ ํฉ๋๋ค.
๋ฌธ์ ์ ๋ํด ๋จผ์ ์์๋ณด๊ฒ ์ต๋๋ค.
๋ฌธ์
๊ตฐ ์ ๋ต๊ฐ ๋จธ์ฑ์ด๋ ์ ์ ์ค ์ ๊ตฐ์ด ๋ค์๊ณผ ๊ฐ์ ์ํธ ์ฒด๊ณ๋ฅผ ์ฌ์ฉํ๋ค๋ ๊ฒ์ ์์๋์ต๋๋ค.
์ํธํ๋ ๋ฌธ์์ด cipher๋ฅผ ์ฃผ๊ณ ๋ฐ์ต๋๋ค.
๊ทธ ๋ฌธ์์ด์์ code์ ๋ฐฐ์ ๋ฒ์งธ ๊ธ์๋ง ์ง์ง ์ํธ์ ๋๋ค.
๋ฌธ์์ด cipher์ ์ ์ code๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ํด๋ ๋ ์ํธ ๋ฌธ์์ด์ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- 1 โค cipher์ ๊ธธ์ด โค 1,000
- 1 โค code โค cipher์ ๊ธธ์ด
- cipher๋ ์๋ฌธ์์ ๊ณต๋ฐฑ์ผ๋ก๋ง ๊ตฌ์ฑ๋์ด ์์ต๋๋ค.
- ๊ณต๋ฐฑ๋ ํ๋์ ๋ฌธ์๋ก ์ทจ๊ธํฉ๋๋ค.
์ ์ถ๋ ฅ ์์
cipher | code | result |
---|---|---|
โdfjardstddetckdaccccdegkโ | 4 | โattackโ |
โpfqallllabwaoclkโ | 2 | โfallbackโ |
๋ฌธ์ ์ ๋ํ ๋์ ํ์ด
class Solution {
public String solution(String cipher, int code) {
StringBuilder sb = new StringBuilder();
int max = cipher.length() / code;
for(int i = 1; i <= max; i++){
int temp = i * code;
sb.append(cipher.charAt(temp - 1));
}
return sb.toString();
}
}
ํ์ด ์ค๋ช
๋จผ์ , StringBuilder ๊ฐ์ฒด์ธ sb๋ฅผ ์์ฑํฉ๋๋ค. ์ด ๊ฐ์ฒด๋ ๋ฌธ์์ด์ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ธฐ ์ํด ์ฌ์ฉ๋ฉ๋๋ค.
๋ค์์ผ๋ก, cipher์ ๊ธธ์ด๋ฅผ code๋ก ๋๋ ๊ฐ์ max์ ์ ์ฅํฉ๋๋ค. ์ด๋ ์ถ์ถํ ๋ฌธ์์ ๊ฐ์๋ฅผ ๋ํ๋ ๋๋ค.
๊ทธ๋ฆฌ๊ณ for ๋ฃจํ๋ฅผ ํตํด 1๋ถํฐ max๊น์ง์ ์ซ์๋ฅผ ๋ฐ๋ณตํฉ๋๋ค. ์ด๋ ์ถ์ถํ ๋ฌธ์์ ์์น๋ฅผ ๋ํ๋ ๋๋ค.
๋ฃจํ ๋ด๋ถ์์๋ temp ๋ณ์์ i์ code๋ฅผ ๊ณฑํ ๊ฐ์ ์ ์ฅํฉ๋๋ค. ์ด๋ ์ถ์ถํ ๋ฌธ์์ ์ธ๋ฑ์ค๋ฅผ ๊ณ์ฐํ๋๋ฐ ์ฌ์ฉ๋ฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ sb์ cipher.charAt(temp - 1)์ ์ถ๊ฐํฉ๋๋ค. charAt ๋ฉ์๋๋ ์ฃผ์ด์ง ์ธ๋ฑ์ค์ ํด๋นํ๋ ๋ฌธ์๋ฅผ ๋ฐํํฉ๋๋ค. temp - 1์ ์ธ๋ฑ์ค๊ฐ 0๋ถํฐ ์์ํ๋ ๋ฐ๋ฉด, temp๋ 1๋ถํฐ ์์ํ๊ธฐ ๋๋ฌธ์ 1์ ๋นผ์ค๋๋ค.
๋ง์ง๋ง์ผ๋ก, sb.toString()์ ํธ์ถํ์ฌ StringBuilder ๊ฐ์ฒด๋ฅผ ๋ฌธ์์ด๋ก ๋ณํํ ํ ๋ฐํํฉ๋๋ค.
์ด๋ ๊ฒ ํ๋ฉด cipher ๋ฌธ์์ด์์ code ๊ฐ๊ฒฉ์ผ๋ก ์ถ์ถ๋ ๋ฌธ์๋ค์ด ์์๋๋ก ์ด์ด์ง ์๋ก์ด ๋ฌธ์์ด์ด ๋ฐํ๋ฉ๋๋ค.