View

문제 설명

문자열 my_string과 정수 n이 매개변수로 주어질 때, my_string에 들어있는 각 문자를 n만큼 반복한 문자열을 return 하도록 solution 함수를 완성해보세요.


제한사항
  • 2 ≤ my_string 길이 ≤ 5
  • 2 ≤ n ≤ 10
  • "my_string"은 영어 대소문자로 이루어져 있습니다.

입출력 예my_stringnresult
"hello" 3 "hhheeellllllooo"

입출력 예 설명

입출력 예 #1

  • "hello"의 각 문자를 세 번씩 반복한 "hhheeellllllooo"를 return 합니다.

나의 풀이

처음에 풀때 replace를 사용해서 문제를 풀었으나, hello의 ll처럼 중복으로 들어간 원소까지 영향을 받게 되는 것을 확인하였다.
그래서 아래의 기본 방법으로 문제를 풀었으나, 보다 간결하게 나타내고 싶었다.

def solution(my_string, n):
    answer = ""
    for s in my_string:
        answer += s*n
    return answer


다른풀이

위에서 풀 때, 사용하였던 for문을 한줄로 만들고 싶었다. 하지만, list comprehension밖에 생각이 나지않아 사용하지 않았는데,
왜 join을 사용하여 리스트의 원소들을 이어 붙이면되는 것을 알면서도 생각지 못하였을까..하하핳..
역시 많이 알고있는 것보다 적재적소에 잘 응용하는 것이 중요한것 같다...!!^^ 더 연습하자....!!!

def solution(my_string, n):
    return ''.join(i*n for i in my_string)
Share Link
reply
«   2024/10   »
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 31