내일배움캠프 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
728x90