Search

๊ตฌ์—ฐ์ง€

2.๋ฌธ์ œ์ด๋ฆ„
3. ์ˆ˜ํ–‰์‹œ๊ฐ„[์ดˆ(s)]
3065
์ข‹์•„์š” ๋ˆ„๋ฅด๊ธฐ
์ข‹์•„์š” ์ˆ˜
: 0
5 more properties
| ์ฝ”๋“œ ์ž‘์„ฑํ•˜๊ธฐ
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 ๋ฐœ์ƒ