[Python] Code kata 3-2

mean_g·2022년 7월 20일
0

[ Python & Django ]

목록 보기
7/10

1. 문제

문자로 구성된 배열을 input으로 전달하면, 문자를 뒤집어서 return 해주세요.

  • 새로운 배열을 선언하면 안 됩니다.
  • 인자로 받은 배열을 수정해서 만들어주세요.
    ex)
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"]

1) reverse 사용하기

def reverse_string(s):
  s.reverse()
  return s

로 돌리면 간단히 답이 나오는데, 너무 간단히 풀려서 다른 방식으로도 풀어 보았다.


2) swap으로 풀기

def reverse_string(s):
  i = 0
  j = len(s) - 1

  while (i<j):
    s[i], s[j] = s[j], s[i]
    i += 1
    j -= 1
  return s

마침 요즘 기초를 다시 보고 있어서 스왑이 생각나서 시작해 봤다.
i로 앞에서부터 시작하고, j는 뒤에서부터 시작해서 서로 바꿔준다.
그리고 i는 더하고 j는 빼가면서 for 문으로 돌려준다.
그리고 i와 j가 만나면 종료

코드가 조금 길어지긴 했지만 그래도..! 새로운 방법을 찾았다!
profile
Backend Dev

0개의 댓글