문자로 구성된 배열을 input으로 전달하면, 문자를 뒤집어서 return 해주세요.
Input: ["h","e","l","l","o"]
Output: ["o","l","l","e","h"]
Input: ["H","a","n","n","a","h"]
Output: ["h","a","n","n","a","H"]
need to know
- 새로운 배열이 아닌 그냥 기존배열으로 만드는거
- 리스트 인덱스로 하나씩 훑으면서 0이면 뺴서 뒤에다가 넣어준다 .. !
문자로 짜봐
- 자리만 바꿔주려면, 먼저 일단 하나 빼 놓을게 필요하기때문에 빈 문자열 하나 만들자
temp=" "- 그리고 배열의 수가 짝수 일때는 그냥 반 나눠서 바꿔주면 되고, 홀 수 일때는 배열의 길이에서 반 나눈거에 1을 더해줄꺼라
odd라는 변수를 만들어서 하나 주자for문돌릴때 배열의 길이를 반으로 나눈걸 주고, 홀 수 일때는 1을 더해주자for문돌아갈 때 먼저 맨앞의 숫자를temp로 저장하고, 맨앞자리 숫자를 맨 뒷자리숫자로 저장하고, 맨 뒷자리 숫자를 저장해 두었던 맨 앞자리 숫자temp를 주자- 그럼 끝
정답
def reverse_string(s): temp = "" odd = 1 if len(s) % 2 == 1 else 0 for i in range(len(s)//2+odd): temp = s[i] # 먼저 맨앞의 숫자를 `temp`로 저장 s[i] = s[-1-i] # 맨앞자리 숫자를 맨 뒷자리숫자로 저장 s[-1-i] = temp # 맨 뒷자리 숫자를 저장해 두었던 맨 앞자리 숫자 `temp`를 저장 return s
참고
odd = 1 if len(s) % 2 == 1 else 0if문일렬로 사용하기[-1]