개발/코테

[7일차] 프로그래머스 - 숨어있는 숫자의 덧셈(1), 인덱스 바꾸기, 특정 문자 제거하기, 외계행성의 나이

su-mmer 2023. 11. 1. 10:32
728x90

숨어있는 숫자의 덧셈(1)


풀이

def solution(my_string):
    return sum([int(i) for i in my_string if i in ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]])

 

인덱스 바꾸기


풀이

def solution(my_string, num1, num2):
    s = list(my_string)
    s[num1], s[num2] = s[num2], s[num1]
    return ''.join(s)

list(my_string)으로만 해도 리스트로 변경된다.

swap()함수를 따로 사용할 필요 없이 파이썬에서는 문자를 서로 바꾸는 문법을 지원한다.

 

특정 문자 제거하기


풀이

def solution(my_string, letter):
    s = list(my_string)
    for i in my_string:
        if i==letter:
            s.remove(letter)
    return ''.join(s)

다른 풀이

def solution(my_string, letter):
    return my_string.replace(letter, '')
  • list.replace(a, b) 함수로 list에서 해당하는 모든 a를 b로 변경한다.

 

외계행성의 나이


풀이

def solution(age):
    return ''.join(chr(int(i)+97) for i in str(age))

아스키코드를 활용했다.

chr이나 ord 함수가 생각 안 나면 replace를 사용할 것 같다.

728x90