|
์ฝ๋ ์์ฑํ๊ธฐ
def solution(number, k):
answer = ""
need_length = len(number) - k
# answer์ ๋ ๋ค์ด๊ฐ์ผ ํ๋ ๋ฌธ์์ ๊ฐ์ -> ์ด ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ์๋ฅผ์ง ๋ง์ง ๊ฒฐ์
set1 = sorted(set([int(number[i]) for i in range(len(number))]), reverse= True)
while(need_length > 0):
for i in range(len(set1)):
# ๋ฌธ์์ด์์ ํน์ ๊ธ์ ์์น ์ฐพ๊ธฐ
# find๋ ํน์ ๋ฌธ์๊ฐ ์กด์ฌํ์ง ์์ผ๋ฉด -1 ์ถ๋ ฅ
# index๋ ์๋ฌ ๋ฉ์์ง ์ถ๋ ฅ
# find๋ฅผ ์ฌ์ฉํ๊ธฐ
number_idx = number.find(str(set1[i]))
if(number_idx == -1):
pass
else:
if(len(number) - number_idx >= need_length):
answer += str(set1[i])
number = number[(number_idx+1):]
need_length -= 1
# ํ๋๋ฅผ answer์ ๋ฃ์ด์ฃผ์์ผ๋ ์ค์ฌ์ค
break
return answer
Python
๋ณต์ฌ
|
์ฝ๋ ์ค๋ช
ํ๊ธฐ
(1) ํฐ ์ ๋ถํฐ ํ์ธํ๋ค.
(2) ๊ทธ ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ฌธ์์ด์ ๋ท ๋ถ๋ถ์ ์ถฉ๋ถํ ๊ธธ์ด์ ๋ฌธ์์ด์ด ์์ผ๋ฉด ๊ทธ ์๋ฅผ ํฌํจ ์ํจ๋ค โ ํ์ํ ๋ฌธ์์ด์ ๊ฐ์๋ฅผ ๋ณ์๋ก ์ ์ฅํ๋ค.
(3) ํฌํจ๋ ์์ ๋ท ๋ถ๋ถ์ ์๋ฅธ๋ค.
ํฐ ์์ ๋๋ก index ์ ํด์ฃผ๊ธฐ | |
"1924โ โ 4132 | 4,3์ ๊ฑฐ |
"4177252841โ โ 5822646158 | ํ์ํ ๋ฌธ์๋ 10-4 = 6๊ฐ
(1) 1๋ฒ ๋ค์๋ 2๊ฐ ->๋ฌธ์์ด ์ฑ๋ฆฝX
โ 2๋ฒ ๋ค์๋ 7๊ฐ โ O โ๋ฌธ์์ด ์๋ฅด๊ธฐ
(2) ๋ฌธ์๋ โ7252841โ, ํ์ํ ๋ฌธ์๋ 5๊ฐ
โ 1๋ฒ ๋ค์๋ 2๊ฐ ->๋ฌธ์์ด ์ฑ๋ฆฝX
โ 2๋ฒ ๋ค์ 6๊ฐ โ O โ ๋ฌธ์์ด ์๋ฅด๊ธฐ
(3) ๋ฌธ์๋ โ252841โ, ํ์ํ ๋ฌธ์๋ 4๊ฐ
โ 1๋ฒ ๋ค์๋ 2๊ฐ ->๋ฌธ์์ด ์ฑ๋ฆฝX
โ 2๋ฒ ๋ค์ 6๊ฐ โ O โ ๋ฌธ์์ด ์๋ฅด๊ธฐ
โฆ. |
โข
์ฃผ์ํ๊ธฐ!) ์ด๋ค ์์์ ์์น๋ฅผ ์ฐพ์ ๋ np.where ๋ฟ๋ง ์๋๋ผ ๋ฌธ์์ด์์ ์์๋ฅผ ์ฐพ๋ ๋ฐฉ๋ฒ๋ ์์!
โข
๋ฌธ์์ด์์ ํน์ ๋ฌธ์์ ์์น ์ฐพ๊ธฐ(ํ์ด์ฌ)
โฆ
find(): ๊ฐ์ด ์์ผ๋ฉด -1 return โ ์ฌ์ฉํ๊ธฐ
โฆ
index(): ๊ฐ์ด ์์ผ๋ฉด error ๋ฐ์