[파이썬 / Algorithm] 프로그래머스 연습문제 level1 - x만큼 간격이 있는 n개의 숫자

waterlyn·2021년 11월 30일
0
post-thumbnail

문제

https://programmers.co.kr/learn/courses/30/lessons/12954

풀이

주어진 조건에 맞는 수열 리스트를 구하는 문제이다!

딱 보자마자 for문을 사용하여 구하면 될 것 같아서 처음에는 정석적인 반복문 코드로 작성하였다.

def soultion(x, n):
	answer = []
    	for i in range(n):
    		answer.append(x + x * i)
    	return answer

이것도 문제를 해결하는 코드이긴 하지만 파이썬스럽지 않은? 코드인 것 같아서 더 줄여보았다.

def solution(x, n):
	return [x + x * i for i in range(n)]

파이썬은 리스트를 선언할 때 내부에 반복문을 사용할 수 있기 때문에 하나의 연산을 반복적으로 실행하여 리스트를 만들 경우 다음과 같이 간단하게 표현이 가능하다 ! 😄

원래는,,,

처음에 코드를 한 문장으로 줄여야겠다고 생각했을 때에는 반복적으로 하나의 연산을 수행하니까 lambda를 사용하면 딱이겠다 싶어서 (진짜 멍청이 ㅎ) 작성을 했는데 아무리 해도 연산이 제대로 수행되지 않는 것이었다...

알고보니 lambda는 변하는 값을 활용해야 하고, 그것을 반복문을 통해서 받아야 하는 경우에는 잘 맞지 않는 것이었다. (나는 for문을 통해 n까지 1씩 증가하는 값을 받아오려고 그랬기 때문에 안됐던것 !)
그리고 배열의 값을 하나씩 순회하면서 값을 활용할 경우에 더욱 요긴하게 쓰인다는 것도 이번을 통해 상기시킬 수 있었다!! 😂

profile
Hello there 🖤

0개의 댓글