Lv0.가위바위보

zz·2023년 4월 3일
0

프로그래머스

목록 보기
22/36
post-custom-banner

[가위바위보]

문제 설명

가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.

제한사항

  • 0 < rsp의 길이 ≤ 100
  • rsp와 길이가 같은 문자열을 return 합니다.
  • rsp는 숫자 0, 2, 5로 이루어져 있습니다

입출력 예

rspresult
"2""0"
"205""052"

내 풀이

def solution(rsp):
    answer = ''
    for i in range(len(rsp)):
        if rsp[i] == '0':
            answer += '5'
        elif rsp[i] == '2':
            answer += '0'
        elif rsp[i] == '5' :
            answer += '2'
    return answer

잼민이 냄새가 폴폴 나네요... 1학년 같음

다른 사람 풀이

마음에 드는 풀이가 꽤나 많았다 신기한 코드들 조아

다른사람 풀이 1

def solution(rsp):
    return rsp.translate(str.maketrans('025', '502'))

translate 이라는 함수를 처음 본 나..

다른 사람 풀이 2

def solution(rsp):
    d = {'0':'5','2':'0','5':'2'}
    return ''.join(d[i] for i in rsp)

써도써도 익숙해지지 않는 .. ㅋㅋ.... dictionary 제발 공부해야지

다른 사람 풀이 3

def solution(rsp):
    rsp =rsp.replace('2','s')
    rsp =rsp.replace('5','p')
    rsp =rsp.replace('0','r')
    rsp =rsp.replace('r','5')
    rsp =rsp.replace('s','0')
    rsp =rsp.replace('p','2')
    return rsp

접근법 자체는 나랑 비슷했는데 한번에 replace 한다는 점에서 긴 문자열에 유용할 것 같다는 생각이 들었다

profile
응애 나 애기개발자
post-custom-banner

0개의 댓글