ํฐ์คํ ๋ฆฌ ๋ทฐ
[ํ๋ก๊ทธ๋๋จธ์ค][Python] ๊ฐ์ฅ ํฐ ์
yeahajeong 2020. 7. 1. 17:34๋ฌธ์ ์ค๋ช
0 ๋๋ ์์ ์ ์๊ฐ ์ฃผ์ด์ก์ ๋, ์ ์๋ฅผ ์ด์ด ๋ถ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ์์๋ด ์ฃผ์ธ์.
์๋ฅผ ๋ค์ด, ์ฃผ์ด์ง ์ ์๊ฐ [6, 10, 2]๋ผ๋ฉด [6102, 6210, 1062, 1026, 2610, 2106]๋ฅผ ๋ง๋ค ์ ์๊ณ , ์ด์ค ๊ฐ์ฅ ํฐ ์๋ 6210์ ๋๋ค.
0 ๋๋ ์์ ์ ์๊ฐ ๋ด๊ธด ๋ฐฐ์ด numbers๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, ์์๋ฅผ ์ฌ๋ฐฐ์นํ์ฌ ๋ง๋ค ์ ์๋ ๊ฐ์ฅ ํฐ ์๋ฅผ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ ์ฌํญ
- numbers์ ๊ธธ์ด๋ 1 ์ด์ 100,000 ์ดํ์ ๋๋ค.
- numbers์ ์์๋ 0 ์ด์ 1,000 ์ดํ์ ๋๋ค.
- ์ ๋ต์ด ๋๋ฌด ํด ์ ์์ผ๋ ๋ฌธ์์ด๋ก ๋ฐ๊พธ์ด return ํฉ๋๋ค.
์ ์ถ๋ ฅ ์
numbersreturn
[6, 10, 2] | 6210 |
[3, 30, 34, 5, 9] |
๋์ ํ์ด
from itertools import permutations
def solution(numbers):
for i in range(len(numbers)):
numbers[i] = str(numbers[i])
return max(list(map("".join, permutations(numbers))))
์ฐ์ ์ด๋ ๊ฒ ํ์ด๋ดค์ ๋ ์คํ์ ๋๋ค. ๊ทผ๋ฐ ์ฑ์ ํ๊ณ ์ ์ถํ์ ๋๋ ์๊ฐ ์ด๊ณผ๋ก ํ ์คํธ๊ฐ ์ ๋ถ ์คํจํด์ 0์ ์ด ๋ ๋ฒ๋ฆฌ๊ณ ๋ง์๋ค. ํํ
์๊ฐ์ ํด๋ณด๋ ์์ด๋ก ๋์ด์ ํ๋ฉด ์์ฒญ๋๊ฒ ๋ง์ ๊ฒฝ์ฐ์ ์๊ฐ ์๊ธฐ๋๊น ๋ค๋ฅธ ๋ฐฉ์์ผ๋ก ํ ํ์๊ฐ ์์๊ฒ๊ฐ๋ค. ์ด์ฐจํผ ์ ์ผ ํฐ ์๋ฅผ ๊ณ ๋ฅด๋ ๊ฑฐ๋๊น ์์๋ฆฌ์๊ฐ ์ ์ผ ๋์ ์ซ์๋ฅผ ๋ฝ์์ ์ฐพ์ผ๋ฉด ๋๊ฒ ๋ค๋ ์๊ฐ์ ํ๋ค. ์๋ฆฌ ์๊ฐ ํ๋๋ผ๋ฉด ์๊ด์ด์๋๋ฐ ๋์๋ฆฌ ์ซ์๊ฐ ๋ค์ด์ฌ ์๋ ์์ผ๋ ๊ทธ ๋ถ๋ถ์ ์ ๊ฒฝ์จ์ ํ์ด์ด์ผ ํ ๊ฒ ๊ฐ๋ค.
๋จธ๋ฆฌ์์ผ๋ก๋ ๋์ถฉ ๋์๊ฐ๋๊ฑฐ ๊ฐ์๋ฐ ์ ์ฝ๋๋ฅผ ๊ตฌํํ๋ คํ๋ฉด ๋ณ์๋ฅผ ์ด๋ป๊ฒ ์ค์ ํด์ผํ๋์ง ์ด๋ป๊ฒ ๋๋ ค์ผํ๋์ง ์๊พธ ํท๊ฐ๋ฆฐ๋ค. ์ง์๊ฐ์ ๋ค์ ํด๋ด์ผ์ง
def solution(numbers):
answer = ""
prevMok = 0
while len(numbers) > 0:
for i in numbers:
if len(str(i)) > 1:
nowMok = i // 10 * (len(str(i))-1)
else:
nowMok = i
if nowMok > prevMok :
popNum = i
prevMok = nowMok
numbers.remove(popNum)
print("numbers : {}\n".format(numbers))
answer += str(popNum)
return answer
numbers=[6,12,2]
print(solution(numbers))
๋ฆฌ์คํธ๋ฅผ ๋ง๋ค์ด์ ๋ฝ์๋ด๋๊ฒ์ผ๋ก..
if len(str(numbers[i])) > 1:
tempNumbers[i] = numbers[i] // 10 * (len(str(numbers[i])) - 1)
else:
tempNumbers[i] = numbers[i]
# ํ๋ก๊ทธ๋๋จธ์ค - ๊ฐ์ฅ ํฐ ์
def solution(numbers):
dic = {}
answer = ""
for i in numbers:
dic[i] = i if len(str(i)) < 2 else i // 10 ** (len(str(i))-1)
print("dic : {}".format(dic))
sortedDic = sorted(dic.items(), key=lambda x: x[1] , reverse=True)
print("sortedDic : {}".format(sortedDic))
for i in range(len(sortedDic)):
answer += str(sortedDic[i][0])
print("answer : {}".format(answer))
return answer
ใ ใ ์ง์ฆ๋๋ค ์ด๋ ๊ฒํ๋ฉด ๊ฐ์ ์ญ์์๋ฆฌ์ผ๋๊ฐ ๋ฌธ์ ๋ค. ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉด ๋๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์๊ธฐ๊ณ ๋๋ค๋ฅธ ๋ฌธ์ ๊ฐ ์๊ธฐ๊ณ ์๊ธฐ๊ณ ์๊ธฐ๊ณ ์๊ธฐ๊ณ ์๊ธฐ๊ณ ์์์์
def solution(numbers):
dic = {}
answer = ""
# print("numbers: {}".format(numbers))
numbers.sort()
numbers.reverse()
# print("numbers: {}".format(numbers))
for i in numbers:
dic[i] = i if len(str(i)) < 2 else i // 10 ** (len(str(i))-1)
# print("dic : {}".format(dic))
sortedDic = sorted(dic.items(), key=lambda x: x[1] , reverse=True)
# print("sortedDic : {}".format(sortedDic))
for i in range(len(sortedDic)):
answer += str(sortedDic[i][0])
# print("answer : {}".format(answer))
return answer
ํค
๋ค๋ฅธ ์ฌ๋ ์ฝ๋
# ๋ค๋ฅธ ์ฌ๋ ์ฝ๋
# ์์ฐ ์ด๋ป๊ฒ ์ด๋ ๊ฒ ์๊ฐํ ์๊ฐ ์์ฃ ์ฐจ์๋ด
def solution2(numbers):
numbers = list(map(str, numbers))
print("numbers: {}".format(numbers))
# ์ด ๋ถ๋ถ ๋ญ๋ ๋์ฒด?
# number์ ์์๊ฐ 1000 ๋ฏธ๋ง์ด๋๊น x*3์ผ๋ก,,,,
numbers.sort(key=lambda x: x*3, reverse=True)
print("numbers: {}".format(numbers))
return str(int(''.join(numbers)))
'(๊ตฌ)์๋ฃ๊ตฌ์กฐ&์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค][Python] H-index (0) | 2020.07.02 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค][Python] ์์์ฐพ๊ธฐ (0) | 2020.06.30 |
[ํ๋ก๊ทธ๋๋จธ์ค][Python] ๋ชจ์๊ณ ์ฌ (0) | 2020.06.30 |
ํ (Heaps) (0) | 2020.06.29 |
์ด์ง ํ์ ํธ๋ฆฌ (Binary Search Trees) (0) | 2020.06.27 |
- Total
- Today
- Yesterday
- ์๋ฐ
- ๊ฒ์๋ฌผ์กฐํ
- ๊ฐ๋ฐ
- ๊ฒ์ํ ์กฐํ
- ๋ถํธ ์๋์์ฑ
- Java
- tomcat์ค์น
- ๊ฐ๋ฐํ๊ฒฝ๊ตฌ์ถ
- ์๊ณ ๋ฆฌ์ฆ
- ์ดํด๋ฆฝ์ค ํ๊ธ ์ธ์ฝ๋ฉ
- Algorithm
- ๋ณ๋ช ์ฒ๋ฆฌ
- typeAliases
- ์ดํด๋ฆฝ์ค ์ค์น
- ์๋ฃ๊ตฌ์กฐ
- ์จ๋ฆฌ์์ค
- ์ ์ฒด๊ฒ์๋ฌผ ์กฐํ
- ๊ฒ์ํ๋ง๋ค๊ธฐ
- ๊ฒ์๋ฌผ ์ญ์
- mysql์ค์น
- java jdk ์ค์น
- ์คํ๋ง๋ถํธ ์๋์์ฑ
- ๊ฒ์ํ ์ญ์
- java ํ๊ฒฝ๋ณ์
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |