๋ฌธ์
for๋ฌธ ๋ด์์ queires ๋ด์ index๋ค์ ๋ฐ๋ณต์ ์ผ๋ก my_string์ ์ ์ฉ์ํค๋ฉด์,
์ ์ฉ๋ ๋ด์ฉ์ ๋ค์ my_string์ ์ ์ฅํ๋ ๋ฐฉ์์ผ๋ก ํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค.
์ฝ๋ ๋ฐ ์ค๋ช
def solution(my_string, queries):
result = my_string
for index in queries:
front_string = result[:index[0]]
mid_string = result[index[0]: index[1] + 1]
back_string = result[index[1] + 1:len(result)]
result = front_string + mid_string[::-1] + back_string
return result
for๋ฌธ ์์ string slicing ๋ด์ฉ๋ง ์ดํดํ๋ฉด ์ฝ๊ฒ ์ดํดํ ์ ์์ ๊ฒ ๊ฐ๋ค.
string[a:b]๋ (a ~ b-1) ๋ฒ์งธ ์ธ๋ฑ์ค์ ์๋ ๊ฐ๋ค์ ๋ฐํํ๋ค.
์ฆ, print("abcde"[1 : 4])
โก๏ธ "abcde"[1] ~ "abcde"[4 - 1 = 3]์ ์ถ๋ ฅํ๋ฏ๋ก, b ~ d ๊น์ง์ ๋ฌธ์์ด, ์ฆ "bcd" ๋ฅผ ์ถ๋ ฅํ๋ค.
๋ํ, a == b -1 ์ด๋ผ๋ฉด string[a]์ ๋๊ฐ์ ๊ฐ์ ์ถ๋ ฅํ๋ค.
โก๏ธ "abcde"[1:2] = "abcde"[1] = "b"
๊ทธ๋ ๊ธฐ ๋๋ฌธ์, ๋ฌธ์ ์์ ์ ๊ณต๋ ๋ฌธ์์ด์ ๋ค์ง์ด์ผ ํ mid_string์ ์ ์ธํ๊ณ ์ ๋ค๋ก ๋๋๋๋ฐ๋ ์์ ๊ฐ์ ์ฝ๋๊ฐ ํ์ํ๋ค.
๋ํ, ๋ฌธ์์ด์ ๋ค์ง๊ธฐ ๊ฐ์ฅ ์ฌ์ด ๋ฐฉ๋ฒ์ string[::-1]์ด๋ค.
์ด๋ range์ ๊ทธ๊ฒ๊ณผ ์ ์ฌํ๋ฐ, ์ฒ์๋ถํฐ ๋๊น์ง ๋ฌธ์์ด์ ๊ฑฐ๊พธ๋ก ์ถ๋ ฅํด์ค๋ค.
์ด ๋ชจ๋ ๊ฑธ ํ์ฉํด์, string์ 3๊ฐ๋ก ๋๋ ๋ค, ์ค๊ฐ ๋ถ๋ถ๋ง ๋ค์ง๊ณ , ๋ค์ ํฉ์น๋ ๋ฐฉ์์ ๋ฐ๋ณตํ ์ฝ๋์ด๋ค.
๋ ๋์ ์ฝ๋๊ฐ ์๋ ๊ฑธ ์์ง๋ง, ์์ง ๊ณต๋ถํ๊ณ ์์ผ๋๊น ์ดํดํด์ฃผ์ธ์~
'python' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[baekjoon] 2563๋ฒ ์์ข ์ด Python (0) | 2023.10.14 |
---|---|
[baekjoon] 10789๋ฒ ์ธ๋ก์ฝ๊ธฐ Python (1) | 2023.10.14 |
[python] tkinter miles km converter / tkinter ๋ง์ผ ํฌ๋ก๋ฏธํฐ ๋ณํ๊ธฐ (3) | 2023.10.10 |
[python] *args ๊ณผ **kwargs (6) | 2023.10.10 |
[python] list comprehension ๋ฆฌ์คํธ ์ปดํ๋ฆฌํจ์ (0) | 2023.10.09 |