프로그래머스/Level_0

[프로그래머스] Lv.0 - l로 만들기.py

ro-jun 2024. 9. 6. 02:52
728x90
반응형

문제

  • 알파벳 소문자로 이루어진 문자열 myString이 주어집니다. 알파벳 순서에서 "l"보다 앞서는 모든 문자를 "l"로 바꾼 문자열을 return 하는 solution 함수를 완성해 주세요.

제한사항

  • 1 ≤ myString ≤ 100,000
    • myString은 알파벳 소문자로 이루어진 문자열입니다.

입출력 예시

  • 입출력 예 1
    • 0 ~ 4번 인덱스의 문자 "a","b","c","d","e"는 각각 "l"보다 앞서는 문자입니다. 따라서 "l"로 고쳐줍니다.
    • 그 외의 문자는 모두 "l"보다 앞서지 않는 문자입니다. 따라서 바꾸지 않습니다.
    • 따라서 "lllllvwxyz"을 return 합니다.
  • 입출력 예 2
    • 0번, 1번, 6번, 7번 인덱스의 문자 "j","j","k","k"는 각각 "l"보다 앞서는 문자입니다. 따라서 "l"로 고쳐줍니다.
    • 그 외의 문자는 모두 "l"보다 앞서지 않는 문자입니다. 따라서 바꾸지 않습니다.
    • 따라서 "llnnllllmm"을 return 합니다.

코드 1

def solution(myString):
    answer = myString.replace('a', 'l').replace('b', 'l').replace('c', 'l').replace('d', 'l').replace('e', 'l').replace('f', 'l').replace('g', 'l').replace('h', 'l').replace('i', 'l').replace('j', 'l').replace('k', 'l')
    return answer

코드 2

def solution(myString):
    answer = ''
    for val in myString:
        if val < 'l':
            answer += 'l'
        else:
            answer += val
    return answer

코드 3

def solution(myString):
    translateMyString = str.maketrans('abcdefghijk', 'lllllllllll')
    answer = myString.translate(translateMyString)
    return answer

출처: 프로그래머스 코딩 테스트 연습, https://school.programmers.co.kr/learn/challenges

728x90
반응형