안녕하세요.
강렬한 스포트라이트 입니다!
하기의 문제를 Python 언어를 사용하여 구현하고자 합니다.
<문제 설명>
가위는 2 바위는 0 보는 5로 표현합니다. 가위 바위 보를 내는 순서대로 나타낸 문자열 rsp가 매개변수로 주어질 때, rsp에 저장된 가위 바위 보를 모두 이기는 경우를 순서대로 나타낸 문자열을 return하도록 solution 함수를 완성해보세요.
<제한 사항>
0 < rsp의 길이 ≤ 100
rsp와 길이가 같은 문자열을 return 합니다.
rsp는 숫자 0, 2, 5로 이루어져 있습니다.
<입출력 예>
rsp | result |
"2" | "0" |
"205" | "052" |
1) 문자열을 리스트로 변환 후 검색하여 구현한 코드입니다.
def solution(rsp):
rsp_list=list(rsp)
for i in range(len(rsp_list)):
if rsp_list[i]=="2":
rsp_list[i]="0"
elif rsp_list[i]=="0":
rsp_list[i]="5"
else:
rsp_list[i]="2"
return ''.join(s for s in rsp_list) #리스트를 문자열로 치환
2) replace() 함수를 사용하여 구현한 코드입니다.
def solution(rsp):
rsp=rsp.replace("2","s")
rsp=rsp.replace("0","r")
rsp=rsp.replace("5","p")
rsp=rsp.replace("s","0")
rsp=rsp.replace("r","5")
rsp=rsp.replace("p","2")
return rsp
3) 딕셔너리를 사용하여 구현한 코드입니다.
def solution(rsp):
dic_rsp={"2":"0","0":"5","5":"2"}
return ''.join(dic_rsp[i] for i in rsp)
해보시고 문의사항이 있으시면 댓글로 남겨주세요.´◡`
감사합니다!
반응형
SMALL
'PS > programmers' 카테고리의 다른 글
[Lv. 0] 배열의 유사도(Python) (2) | 2023.03.03 |
---|---|
[Lv. 0] 369게임(Python) (0) | 2023.03.02 |
[Lv. 0] 구슬을 나누는 경우의 수(Python) (0) | 2023.02.22 |
[Lv. 0] 진료순서 정하기(Python) (0) | 2023.02.21 |
[Lv. 0] 외계행성의 나이(Python) (0) | 2023.02.20 |