본문 바로가기

코딩테스트 with Python

[파이썬] 문자열 method replace()

replace()

 

문자열 method

replace(old, new, [count])

주어진 문자열에서 old -> new 로 대치된 문자열을 return 한다. 

원래 문자열을 그대로 바뀌지 않는다.(string은 수정불가능)

count: 변경할 횟수, default는 -1로 전체를 의미한다. 

 

예시)

a = 'hello world'
a.replace('hello','hi') # hi word

*만약 old에 해당하는 문자열이 없으면 원래 문자열을 return

 

문제)

 

다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다.

  • 1478 → "one4seveneight"
  • 234567 → "23four5six7"
  • 10203 → "1zerotwozero3"

이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열s가 매개변수로 주어집니다.  s가 의미하는 원래 숫자를 return하도록 solution 함수를 완성해라

 

내가 짠 코드)

def solution(s):
    text = str(s)
    target = {'zero':'0','one':'1','two':'2','three':'3','four':'4','five':'5','six':'6','seven':'7','eight':'8','nine':'9'}
    for key in target:
        text = text.replace(key, target[key])
    answer = int(text)
    return answer

주어진 문자열에서 target의 key를 찾으면 해당하는 key의 value로 repalce 해준다. 

 

또는 이렇게..

target = {"zero":"0", "one":"1", "two":"2", "three":"3", "four":"4", "five":"5", "six":"6", "seven":"7", "eight":"8", "nine":"9"}

def solution(s):
    answer = s
    for key, value in target.items():
        answer = answer.replace(key, value)
    return int(answer)

dic.items() -> key와 value의 값을 동시에 가져올 수 있다.  

 

 

기본 문자열 함수를 잘 익히도록 하자... 딕셔너리도...

'코딩테스트 with Python' 카테고리의 다른 글

다중 집합  (0) 2022.01.21
[파이썬] 빈 리스트 확인 하는법  (0) 2022.01.06
[파이썬] itertools ,순열, 조합 등  (0) 2022.01.01
[파이썬] Counter 객체  (0) 2021.12.28
[파이썬] 내장 함수 zip  (0) 2021.12.28