2021. 1. 26. 20:24ใ๐ Algorithm/๐ช๐ป Python ๋ฌธ์ ํ์ด
๋ฌธ์ ์ค๋ช
0 ๋๋ ์์ ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ ์๋ฅผ ์ด์ด ๋ถ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ์์๋ด ์ฃผ์ธ์.
์๋ฅผ ๋ค์ด, ์ฃผ์ด์ง ์ ์๊ฐ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋ง๋ค ์ ์๊ณ , ์ด์ค ๊ฐ์ฅ ํฐ ์๋ 6210์ ๋๋ค.
0 ๋๋ ์์ ์ ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด numbers๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์์๋ฅผ ์ฌ๋ฐฐ์นํ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์ฌํญ
- numbers์ ๊ธธ์ด๋ 1 ์ด์ 100,000 ์ดํ์ ๋๋ค.
- numbers์ ์์๋ 0 ์ด์ 1,000 ์ดํ์ ๋๋ค.
- ์ ๋ต์ด ๋๋ฌด ํด ์ ์์ผ๋ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์์
ํ์ด ๊ณผ์
์๊ฐ๋ณด๋ค ์ฝ๊ฒ ํ ์ ์๋ ๋ฌธ์ ์๋ค. ์ฒ์์๋ ์๋ฆฌ์๋ฅผ ์ต๋๋ก ๊ฐ๊ฒ ๋ง๋ค์ด ๊ฒ์ฌํ๋ฉด ๋๊ฒ ๋ค๊ณ ์๊ฐํ์ง๋ง, ์๋ฅผ๋ค์ด 3์ด๋ฉด 3000์ผ๋ก ๋ง๋ค์๋ค. ํ์ง๋ง ์ด๋ ๊ฒ ํธ๋ ๋ฐฉ๋ฒ์ ์ ๋ ฌ์ด ์ฌ๋ฐ๋ฅด๊ฒ ๋์ง ์์๋ค. ๊ทธ๋์ 1000์ดํ์ ์๋ค์ 4์๋ฆฌ ์๋ก ๋ง๋ค์ด ์๋ฅผ ๋ค์ด 3์ด๋ฉด 3333, 121 ์ด๋ฉด 1211๋ก tmp_number์ ์ ์ฅํ ๋ค์ answer์ str(tmp_number)๋ฅผ ์ ์ฅํ์๋ค.
๊ทธ๋ค์ answer๋ฅผ sort ํด์ค๋ค str๋ก ํ๋์ฉ ์ด์ด๋ถ์ฌ์ฃผ์๋ค.
์ด๋ [0,0,0,0] ์ผ๋๋ 0์ด ์ถ๋ ฅ๋์ด์ผ ํ๋ฏ๋ก int(ans)๊ฐ 0์ด๋ฉด str(0)์ ์ถ๋ ฅํ๋๋ก ํ๋ค.
def solution(numbers):
answer = []
ans = ''
for number in numbers:
tmp_number = [str(i) for i in str(number)]
while len(tmp_number) < 4:
for i in str(number):
tmp_number.append(i)
tmp_number = tmp_number[0:4]
answer.append([str(''.join(tmp_number)), number])
answer.sort(reverse=True)
for _, item in answer:
ans += str(item)
return str(0) if not int(ans) else ans
if __name__ == '__main__':
print(solution([0,0,0,1000]))
print(solution([6,10,2]))
print(solution([0,0,0,0]))
'๐ Algorithm > ๐ช๐ป Python ๋ฌธ์ ํ์ด' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Python - ํ๋ก๊ทธ๋๋จธ์ค Level1] ์นด์นด์ค - ์ ๊ท ์์ด๋ ์ถ์ฒ (0) | 2021.01.27 |
---|---|
[Python - ํ๋ก๊ทธ๋๋จธ์ค Level1] ์์ฃผํ์ง ๋ชปํ ์ ์ (0) | 2021.01.26 |
[Python - ๋ฐฑ์ค 1931] ํ์์ค ๋ฐฐ์ (0) | 2021.01.24 |