알고리즘
[CodeWars] Square Every Digit - 7Kyu
또롱또
2024. 12. 5. 00:38
728x90
https://www.codewars.com/kata/546e2562b03326a88e000020/train/python
Codewars - Achieve mastery through coding practice and developer mentorship
A coding practice website for all programming levels – Join a community of over 3 million developers and improve your coding skills in over 55 programming languages!
www.codewars.com
이번에도 랭크업 난이도의 문제를 풀어볼 예정이고 7kyu가 걸렸다.
주어진 value가 있고, 그 value을 각각 제곱을 한 다음에, 나온 결과를 string으로 붙여서 다시 integer로 반환하라는거 같다.
나는 형변환을 좀 지나치게 사용하긴 했지만 내 답은 아래와 같다. for in list를 한번 다시 사용해봤다 익숙해 지기 위해.
def square_digits(num):
return int(''.join([str(int(num) ** 2) for num in list(str(num))]))
파이썬에서 숫자를 for loop 으로 돌릴수 없어서 문자열로 바꿔줘야하고, 제곱하기위해 다시 넘버로.
그리고 배열을 문자열로 풀기위해 다시 모든 엘리먼트를 문자열로 바꿔주고.. 마지막 return은 넘버로 하래서 또 int로..
그런데 내 답이 clever를 제일 많이 받은 답 이었다.
그 외에 답은
def square_digits(num):
ret = ""
for x in str(num):
ret += str(int(x)**2)
return int(ret)
이런게 있었는데,
그냥 for in list를 사용 안한거 였고, 모두가 형변환을 하고 있었다.
728x90