가위 바위 보 - Python

2023. 9. 22. 11:24공부/📝 프로그래머스

def solution(rsp):
    rsp = rsp.replace("2", "영")
    rsp = rsp.replace("0", "오")
    rsp = rsp.replace("5", "이")
    rsp = rsp.replace("영", "0")
    rsp = rsp.replace("오", "5")
    rsp = rsp.replace("이", "2")
    return rsp


# Test Cases
print(solution("2"))
print(solution("205"))

  제 풀이는 위와 같습니다.

 


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

  딕셔너리와 join()을 쓰면 이렇게 가능한데 이걸 또 잊었네요.

 


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

  이 코드는 파이썬에서 문자열을 변환하는 방법 중 하나인 str.maketrans()str.translate() 메서드를 사용하여 문자열을 변경하는 함수를 구현하고 있습니다.

  1. str.maketrans('025', '502'): 이 메서드는 두 개의 문자열을 인자로 받습니다. 첫 번째 문자열은 변환 전의 문자, 두 번째 문자열은 해당 문자를 어떻게 변환할지를 나타냅니다. 여기서 '025'에서 '502'로 변환을 정의하고 있습니다. 이것은 다음과 같은 변환을 의미합니다:


'0'을 '5'로 바꿉니다.
'2'를 '0'으로 바꿉니다.
'5'를 '2'로 바꿉니다.

 

  2. rsp.translate(str.maketrans('025', '502')): 이 코드는 입력 문자열 rsp를 변환하는 역할을 합니다. str.translate() 메서드는 변환 테이블을 적용하여 문자열을 변환하며, 이 경우에는 '025'에서 '502'로의 변환 규칙을 적용합니다. 따라서 입력 문자열 rsp의 모든 '0'은 '5'로, '2'는 '0'으로, '5'는 '2'로 바뀝니다.

  결과적으로, solution() 함수는 문자열 rsp에서 '0'을 '5'로, '2'를 '0'으로, '5'를 '2'로 교체한 새로운 문자열을 반환합니다.

 

  이 메서드는 처음 봤습니다.

 


 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

'공부 > 📝 프로그래머스' 카테고리의 다른 글

2차원으로 만들기 - Python  (0) 2023.09.22
구슬을 나누는 경우의 수 - Python  (0) 2023.09.22
모스부호 (1) - Python  (0) 2023.09.22
개미 군단 - Python  (0) 2023.09.22
배열의 유사도 - Python  (0) 2023.09.21