Code Kata | Day 12


>Day 12問題


文字で構成された配列をinputで伝える場合は、文字を逆に戻してください.
- 새로운 배열을 선언하면 안 됩니다.
- 인자로 받은 배열을 수정해서 만들어주세요.

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"]

私の答え

def reverse_string(s) :
    s.reverse()
    return s
    
# <or>

def reverse_string(s):
    return s[::-1]
実はこの問題は簡単すぎて、ブログを書くのは耻ずかしいですが、毎日練習しましょう.
文字列からなるリストを逆さまに出力する必要があるため,reverse関数を考慮し,実現が簡単すぎる.
また,ポストインデックスからアクセスを開始してもすぐに実装でき,合計2つのコードを試みたことがある.
プロジェクトが忙しかったのですが、コートを1時間で作るのではなく、少し余裕ができたので楽しい1日でした!😎

模範解答

def reverseString(s) :
    a, b = 0, len(s) - 1

    while a <= b:
        s[a], s[b] = s[b], s[a]
        a += 1
        b -= 1
        
    return s

# def reverseString(s) :
#    return s[::-1]
ちょっと斬新(?)恨みを晴らすのですが、よく見るとaとbに0とlen(s)-1が割り当てられています.
次に、aがb以下であるか否かの前に、最初の文字と終了文字を交換する.
私の答えのように、reverse関数と-1インデックスを使って解決することもできますが、上記の方法があることを知っていればいいです!