[Algorithm] 3주차 2번 문제

김상웅·2022년 6월 23일
0

[알고리즘]

목록 보기
10/18

✅ 문제


문자로 구성된 배열을 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"]


📌풀이


  1. 파이썬의 함수 사용을 통한 풀이는 다음과 같습니다.
def answer(str) :
	s.reverse()
    
    return s
  1. 슬라이싱을 통한 풀이는 다음과 같습니다.
def answer(str) :
	return s[::-1]
  1. 반복문과 배열의 index를 이용하는 풀이는 다음과 같습니다.
def asnwer(str):
	start_idx = 0
    end_idx = len(s) - 1
    
    while start_idx <= end_idx :
    	str[start_idx] = str[end_idx]
        str[end_idx] = str[start_idx]
        
        start_idx += 1
        end_idx -= 1

가벼운 문제라고 생각할 수도 있습니다.

하지만 3번 풀이와 같이 배열의 인덱스를 활용하여 값의 위치를 바꿔주는 방식을 연습한다면 새로운 배열을 사용하거나 내장 함수를 활용하지 않고 문제를 해결할 수 있을 것 같네요!

profile
누구나 이해할 수 있도록

0개의 댓글