def stringReverse(myString) :
'''
문자열 myString을 뒤집어서 반환하는 함수를 작성하세요.
'''
if(len(myString) == 1):
return myString[0]
result = myString[len(myString)-1 : len(myString)] + stringReverse(myString[:len(myString)-1])
return result
def main():
'''
테스트를 하고싶으면, 아래 부분을 수정합니다.
'''
myString = input()
print(stringReverse(myString))
if __name__ == "__main__":
main()
처음 문제를 풀었을 때는 매개변수에 count라는 변수를 추가했었다.
재귀가 깊어지는 것을 감지하기 위해서 추가했는데, 기존 함수가 문자열 하나만 받아서 테스트에서 오류가 발생했다.
그래서 해당 숫자를 대체할 방법으로 슬라이싱을 생각했습니다.
재귀를 문자열의 마지막 부분만 저장하고 나머지 부분을 담는 형태로 구성한다.
그리고 만약 문자열의 길이가 1이면 그냥 맨 앞자리를 반환해준다.
이렇게 구성하게 되면 재귀가 문자열이 뒤집어지게 된다.
'python > 문제' 카테고리의 다른 글
[엘리스] list.sort()사용할 때 None이 반환되는 경우 (0) | 2022.07.01 |
---|---|
[백준/2231]분해합 (0) | 2021.10.28 |
[백준,10809]알파벳 찾기 (0) | 2021.03.04 |
[백준,2675]문자열반복 (0) | 2021.03.04 |
[백준, 11654] 아스키코드 (0) | 2021.03.04 |