문제
정수가 담긴 리스트 num_list가 주어집니다. num_list의 홀수만 순서대로 이어 붙인 수와 짝수만 순서대로 이어 붙인 수의 합을 return하도록 solution 함수를 완성해주세요.
입출력 예
입출력 예 #1
홀수만 이어 붙인 수는 351이고 짝수만 이어 붙인 수는 42입니다. 두 수의 합은 393입니다.
입출력 예 #2
홀수만 이어 붙인 수는 573이고 짝수만 이어 붙인 수는 8입니다. 두 수의 합은 581입니다.
mysolution.py
def solution(num_list):
odd = ""
even = ""
for i in num_list:
if i%2==0:
even+=str(i)
else:
odd+=str(i)
return int(even)+int(odd)
다른 사람 풀이
def solution(num_list):
even=int(''.join([str(i) for i in num_list if i%2==0]))
odd=int(''.join([str(i) for i in num_list if not i%2==0]))
return even+odd
느낀 점
이 문제의 경우는 거의 대부분 비슷한 풀이였다.
리스트로 처음에 접근하려고 했는데.. join 함수를 이용해서 할 수 있구나!
아직 join이 익숙하지 않다. . . ' '.join(리스트이름) => 리스트 값 하나하나 쪼개서 붙여서 하나의 문자열로 return!
join 사용 ver.
def solution(num_list):
odd = []
even = []
for i in num_list:
if i%2==0:
even.append(str(i))
else:
odd.append(str(i))
return int(''.join(even))+ int(''.join(odd))