05의 개발 계발

[페어프로그래밍] 230406 가위 바위 보 dict / .translate / str.maketrans 본문

내일배움캠프 AI/페어프로그래밍

[페어프로그래밍] 230406 가위 바위 보 dict / .translate / str.maketrans

생각하는 코댕이 2023. 4. 6. 22:43
728x90

가위 바위 보


페어프로그래밍 결과 코드

def solution(rsp):
	#가위바위보는 낸 숫자와 이기기 위한 숫자의 한쌍으로 묶을 수 있다 → 딕셔너리를 쓰자
    #문자열을 받고, 문자열로 출력해야하므로 문자열로 key value를 작성하고,
    #key에 따라 value를 문자열에 쌓아서 반환해주자.
    rsp_dict = {'0':'5','5':'2','2':'0'}
    rsp_win = ''
    for i in rsp:
        rsp_win += rsp_dict[i]
    return rsp_win

흠터레스팅 코드

def solution(rsp):
    d = {'0':'5','2':'0','5':'2'}
    return ''.join(d[i] for i in rsp) #문자열(string)에 추가하는 것과 같은 구조지만 join을 활용했다.
def solution(rsp):
    return rsp.translate(str.maketrans('025', '502'))
    # str.maketrans(바꿀문자,새문자) 테이블 생성
    # .translate(테이블) 테이블을 참조하여 변환

시사점 or 새로이 알게된 점

참고자료   

str.maketrans(<str>,<str>)
- 정의 | 내장클래스 str의 정적 메소드     *정적 메소드 = self 값이 필요없는 메소드, 인스턴스에 영향을 주지않는다.
- 사용법 | str.maketrans(바꿀문자,새문자)
- 결과 | key=바꿀문자 , value=새문자 를 가지는 새로운 테이블(딕셔너리)을 생성
- Type | dictionary
<str>.translate(<dict>)
-정의 |  내장클래스 str의 인스턴스 메소드 
           *인스턴스 메소드 = 객체의 self 값을 받아 인스턴스에 직접적으로 영향을 준다.
- 사용법 | 바꿀문자열.translate(규칙을 적용할 테이블)
- 결과 | 문자열을 테이블의 key값과 대조하여 해당하는 value로 변환
- Type | string

 

 

파이썬 코딩 도장: 24.1 문자열 조작하기

Unit 24. 문자열 응용하기 지금까지 리스트 사용 방법을 알아보았습니다. 리스트는 요소 여러 개가 연속적으로 이어져 있죠? 마찬가지로 문자열도 문자 여러 개가 연속적으로 이어져 있는 시퀀스

dojang.io

728x90