Programmers/코딩 기초 트레이닝
[프로그래머스] 배열의 원소만큼 추가하기
jjam-mo
2024. 2. 10. 16:11

몇 번을 보고 내가 생각하는대로 코드를 써봐도 자꾸 오류가 나고 하나만 맞고 그래서 뭔지 몰라 검색을 해봤다!!
<나 말고 남이 쓴 코드>
def solution(arr):
answer = []
for i in arr:
answer += [i]*i
return answer
봐도 이해가 가진 않는다. 특히 4번째 줄...[i]가 어디에 해당하는지 모르겠다. 아니면 아무런 관계가 없는 것인가!!!!ㅠㅠ
(누가 좀 자세하게 알려주세요!!ㅠㅠㅠ)
<나 말고 남이 쓴 코드>
def solution(arr):
answer = []
for i in arr:
for j in range(i):
answer.append(i)
return answer
차라리 이것은 어느정도 이해가 된다. for i in arr에서 i가 arr의 요소이고
for j in range(i)는 0부터 i(arr 요소)까지 answer에 i(arr 요소)를 추가해라.
예를 들어 arr의 첫번재 요소가 5이면 0부터 4까지 (총 5번) 5를 answer에 5번 추가해라 이런 뜻이라 이해가 된다.
<내가 쓴 오답 코드>
def solution(arr):
answer = []
for i in range(len(arr)):
answer.append(arr[i]*arr[i])
return answer
딱 봐도 4번째 줄이 그냥 제곱과 같은 말이라 이걸 어떻게 해결해야 할지 모른채 계속 고민했는데...
아직은 해결하기 어려운 것 같다. 공부하면서 조금씩 실력을 늘려보자!! 파이팅!!!