코딩테스트연습(파이썬)
A로 B 만들기 / 프로그래머스, 파이썬 코딩테스트 연습코딩테스트 입문
LearnerToRunner
2022. 11. 18. 11:56
문제
문자열 before와 after가 매개변수로 주어질 때, before의 순서를 바꾸어 after를 만들 수 있으면 1을, 만들 수 없으면 0을 return 하도록 solution 함수를 완성해보세요.
제출답안
def solution(before, after):
def zip_letter_and_count(list):
ls = [letter for letter in list]
set_ls = set(ls)
tp = zip(set(ls), [ls.count(letter) for letter in set_ls])
tp = sorted(tp, key=lambda x: x[0] )
return tp
b = zip_letter_and_count(before)
a = zip_letter_and_count(after)
print(sorted(before))
answer = 1 if a==b else 0
return answer
제출 후 개선답안
Sorted 에 string을 받고 리스트로 반환할 수 있음을 알게됨.
따라서, 아래와 같이 코드를 개선하였음
def solution(before, after):
before_sorted = sorted(before)
after_sorted = sorted(after)
answer = 1 if before_sorted == after_sorted else 0
return answer
문제 바로가기
728x90