# ๋๋ง์ ์ํธ # 155652 # lv1 # Python
# ๋ฌธ์
๋ ๋ฌธ์์ด s์ skip, ๊ทธ๋ฆฌ๊ณ ์์ฐ์ index๊ฐ ์ฃผ์ด์ง ๋, ๋ค์ ๊ท์น์ ๋ฐ๋ผ ๋ฌธ์์ด์ ๋ง๋ค๋ ค ํฉ๋๋ค. ์ํธ์ ๊ท์น์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- ๋ฌธ์์ด s์ ๊ฐ ์ํ๋ฒณ์ index๋งํผ ๋ค์ ์ํ๋ฒณ์ผ๋ก ๋ฐ๊ฟ์ค๋๋ค.
- index๋งํผ์ ๋ค์ ์ํ๋ฒณ์ด z๋ฅผ ๋์ด๊ฐ ๊ฒฝ์ฐ ๋ค์ a๋ก ๋์๊ฐ๋๋ค.
- skip์ ์๋ ์ํ๋ฒณ์ ์ ์ธํ๊ณ ๊ฑด๋๋๋๋ค.
์๋ฅผ ๋ค์ด s = "aukks", skip = "wbqd", index = 5์ผ ๋, a์์ 5๋งํผ ๋ค์ ์๋ ์ํ๋ฒณ์ f์ง๋ง [b, c, d, e, f]์์ 'b'์ 'd'๋ skip์ ํฌํจ๋๋ฏ๋ก ์ธ์ง ์์ต๋๋ค. ๋ฐ๋ผ์ 'b', 'd'๋ฅผ ์ ์ธํ๊ณ 'a'์์ 5๋งํผ ๋ค์ ์๋ ์ํ๋ฒณ์ [c, e, f, g, h] ์์์ ์ํด 'h'๊ฐ ๋ฉ๋๋ค. ๋๋จธ์ง "ukks" ๋ํ ์ ๊ท์น๋๋ก ๋ฐ๊พธ๋ฉด "appy"๊ฐ ๋๋ฉฐ ๊ฒฐ๊ณผ๋ "happy"๊ฐ ๋ฉ๋๋ค.
๋ ๋ฌธ์์ด s์ skip, ๊ทธ๋ฆฌ๊ณ ์์ฐ์ index๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋ ์ ๊ท์น๋๋ก s๋ฅผ ๋ณํํ ๊ฒฐ๊ณผ๋ฅผ returnํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
# ์ ํ์ฌํญ
- 5 ≤ s์ ๊ธธ์ด ≤ 50
- 1 ≤ skip์ ๊ธธ์ด ≤ 10
- s์ skip์ ์ํ๋ฒณ ์๋ฌธ์๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- skip์ ํฌํจ๋๋ ์ํ๋ฒณ์ s์ ํฌํจ๋์ง ์์ต๋๋ค.
- 1 ≤ index ≤ 20
# ํ์ด
# ์ฒซ ๋ฒ์งธ ํ์ด ๋ฆฌ์คํธ ํ์ฉ ํ์ด
def solution(s, skip, index):
""" ์์ด๋์ด """
# 0. ์ธ๋ฑ์ค๋ฅผ ํตํ ์์ ์ ๊ทผ์ ํธํ๊ฒ ํ๊ณ ์ ๋ฌธ์์ด์ ๋ฆฌ์คํธ๋ก ๋ณํ.
# 1. skip์ ์๋ ๋ฌธ์๋ค์ alpha_list์์ ์ญ์ .
# 2. ๋ฌธ์์ด s์ ๊ฐ ์ํ๋ฒณ์ index ๋งํผ์ ๋ค์ ์ํ๋ฒณ์ผ๋ก ๋ฐ๊ฟ์ค.
# 3. ๋ง์ฝ ์๋ก ๋ฐ๋ ๋ฆฌ์คํธ์ ์ธ๋ฑ์ค๊ฐ์ด alpha_list์ ๊ธธ์ด๋ณด๋ค ๊ธธ๋ฉด, ๊ธด๋งํผ์ ๋นผ์ค.
# ๋จ, index ์ ์ต๋ ๊ธธ์ด๋ 20, alpha_list์ ๊ธธ์ด๋ 26์ด๋ฏ๋ก, ์ด๋ฅผ ์์ธ ์ฒ๋ฆฌ๋ฅผ ํตํด ํ์ธํด์ผ ํจ.
alpha_list = list('abcdefghijklmnopqrstuvwxyz')
s_list = list(s)
answer = ''
for i in skip:
alpha_list.remove(i)
for i in range(len(s_list)):
new_idx = alpha_list.index(s_list[i]) + index
while new_idx >= len(alpha_list):
new_idx -= len(alpha_list)
s_list[i] = alpha_list[new_idx]
return answer.join(s_list)
# ๋ ๋ฒ์งธ ํ์ด. ๋ฆฌ์คํธ x, ๋ฌธ์์ด ์ง์ ์ ๊ทผ
def solution(s, skip, index):
""" ์์ด๋์ด๋ ๋์ผ """
alpha_ = 'abcdefghijklmnopqrstuvwxyz'
answer = ''
for i in skip:
alpha_ = alpha_.replace(i, '')
for i in s:
new_idx = alpha_.find(i) + index
while new_idx >= len(alpha_) - 1:
new_idx -= len(alpha_)
answer += alpha_[(new_idx)]
return answer