[Programmers] ํํ
Updated:
ํํ
ํํ ์ ํด๋ฆญํ๋ฉด ๋ฐ๋ก ์ด๋ํ๋ค.
์ด ๋ฌธ์ ๋ ๋ ๊ฐ์ง๋ฅผ ํด๊ฒฐํด์ผ ํ๋ ๋ฌธ์ ์ด๋ค.
์ฒซ ๋ฒ์งธ๋ ๋ฌธ์์ด๋ก ์ฃผ์ด์ง ์งํฉ์ ๋ด๊ฐ ์ํ๋ ์๋ฃํ์ผ๋ก ๋ฐ๊พธ๋ ๊ฒ!
๋ ๋ฒ์งธ๋ ์ํ๋ ์๋ฃํ์ผ๋ก ๋ฐ๊พธ๊ณ ๋ ๋ค ๋ฌธ์ ์์ ์๊ตฌํ๋ ๋ต์ ๋์ถํด ๋ผ ๊ฒ!
๋ฌธ์์ด์ด ์ฃผ์ด์ง๋ฉด ๋๋ ๊ทธ๊ฒ์ ๋ฆฌ์คํธ๋ก ๋ฐ๊พธ๊ธธ ์ํ๋ค.
๊ทธ๋์ ์ฒ์ ์๊ฐํ ๋ฐฉ๋ฒ์ s[1:-1] ์ ํตํด ๋งจ ์ฒ์๊ณผ ๋ง์ง๋ง ๊ดํธ๋ ๋ผ๊ณ ๋ฐ๋ณต๋ฌธ์ ๋๋ฆฌ๋ฉด์ โ{โ ๊ฐ ๋์ค๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ
โ}โ ๊ฐ ๋์ค๋ฉด ์ ์ฅ ๋ ๋ฐ์ดํฐ๋ฅผ ๋ฆฌ์คํธ๋ก ์ฎ๊ธฐ๋ ์์ ์ ํ๋ค.
[[1, 2, 3], [2, 1], [1, 2, 4, 3], [2]] ๋ก ๋ง๋ ๋ค ํด๋น ์ด์ฐจ์ ๋ฆฌ์คํธ๋ฅผ ๊ธธ์ด ์์ผ๋ก ์ ๋ ฌ์ ํ๋ค.
[[2], [2, 1], [1, 2, 3], [1, 2, 4, 3]] ์ด ๋๋๋ฐ ์ด์ ์ฒซ ๋ฒ์งธ ๋ฆฌ์คํธ ๋ถํฐ ๋๋ฉด์ ์ค๋ณต ๊ฐ์ ์ ์ธํ ๊ฐ๋ค์ ๋ฝ์๋ด๋ฉด ๋๋ค.
[2, 1, 3, 4] ๊ฐ ๋์ค๊ฒ ๋๋ค.
def solution(s):
string = s[1:-1]
sort_box = list()
box = list()
answer = list()
input_num = ''
for cur in string:
if cur == '{':
switch = True
continue
elif cur == '}':
switch = False
box.append(int(input_num))
sort_box.append(box.copy())
box.clear()
input_num = ''
if switch and cur != ',':
input_num += cur
if switch and cur == ',':
box.append(int(input_num))
input_num = ''
sort_box.sort(key=lambda x: len(x))
answer.append(sort_box[0][0])
for val in sort_box:
answer += set(val) - set(answer)
return answer
๋ฆฌ์คํธ๋ก ๋ฐ๊พธ๋ ๋ ๊ฐ๋จํ ๋ฐฉ๋ฒ์ด ์์๋ค.
๋๋ ์ฒ์์ split ์ ์ฌ์ฉ ํด ๋ณผ๊น ํ๋๋ฐ ์ ๋นํ๊ฒ ๋๋ ๊ธฐ์ค์ด ์๋ณด์ฌ ํฌ๊ธฐํ์๋ค.
ํ์ง๋งโฆ ์กฐ๊ธ๋ง ๋ ๊ผผ๊ผผํ ๋ณผ ๊ป ๊ธฐ์ค์ด ์์๋ค !!
๋งจ ์ผ์ชฝ ๊ดํธ ๋ ๊ฐ , ๋งจ ์ค๋ฅธ์ชฝ ๊ดํธ ๋ ๊ฐ๋ฅผ ์ง์ด ๋ค โ},{โ ๋ก split ํ๋ฉด ์ซ์๋ง ๋ฝ์๋ผ ์ ์๋ค.
def solution(s):
split_str = s[2:-2].split('},{')
sort_box = []
box = []
answer = []
input_num = ''
for cur in split_str:
for val in cur:
if val != ',':
input_num += val
else:
box.append(int(input_num))
input_num = ''
box.append(int(input_num))
input_num = ''
sort_box.append(box.copy())
box.clear()
sort_box.sort(key=lambda x: len(x))
for val in sort_box:
answer += set(val) - set(answer)
return answer
Leave a comment