스파르타 코딩 클럽 - iOS 스타터 6기/알고리즘 코드카타

25. 스파르타 코딩 클럽 - 4월 25일 코딩테스트 연습 (코드카타)

seongpil Heo 2025. 4. 25. 10:02

❓ 오늘의 문제

 

 

프로그래머스

SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프

programmers.co.kr

 

1. 배열 뒤집기

  • 정수가 들어 있는 배열 num_list가 매개변수로 주어집니다. num_list의 원소의 순서를 거꾸로 뒤집은 배열을 return 하도록 solution 함수를 완성해 주세요.

나의 정답 코드

import Foundation

func solution(_ num_list:[Int]) -> [Int] {
    var result = [Int]()
    for i in num_list.reversed() {
        result.append(i)
    }
    
    return result
}

 ✓ TIL

오늘은 오전 알고리즘 시간에 간단한 숫자 판독기 앱을 만드는 미니 테스트를 진행하였다.

시간 내에 테스트를 끝내고 알고리즘 문제를 풀어보았다.

 

오늘 푼 문제는 배열 뒤집기이다.

정수형 배열이 주어질 때, 이 배열의 순서를 거꾸로 뒤집은 배열을 return 하는 문제이다.

 

저번에 사용했던 .reversed() 사용해서 비교적 쉽게 문제를 해결했다.

.reversed() 메서드는 말 그대로 뒤집는 기능? 을 하는데

 

예를 들어 for문에서 사용 시 0부터 증가하여 9까지 반복했던 for문을

9부터 0까지 1씩 감소하는 방식으로 사용할 수 있다.

 

for i in num_list.reversed() {
        result.append(i)
    }

 

나는 주어진 정수 배열을 for문을 사용하여 요소에 접근하였는데

for i in num_list를 .reversed() 없이 사용하는 경우

 

ex) num_list = [1, 2, 3, 4, 5] 일 때

i값으로 1, 2, 3, 4, 5 순서대로 들어간다.

 

그러나 num_list에 .reversed() 메서드를 사용하면

i값에 5, 4, 3, 2, 1로 역순으로 접근하기 때문에

 

문제에서 요구했던 배열 뒤집기가 가능하다.

 

코딩으로 시작하는 하루...


 😼 GitHub