IdoCleanCode
article thumbnail
반응형

 

코딩 테스트 - 프로그래머스

 

 

 

문제

정수 배열 numbers가 매개변수로 주어집니다. numbers의 각 원소에 두배한 원소를 가진 배열을 return하도록 solution 함수를 완성해주세요.

 

원리

이 문제의 핵심은 배열생성, 배열 순회, 원소 연산, 결과 저장 과정이 필요합니다

배열

배열은 여러 개의 값을 순서대로 저장하는 데이터 구조로, 각 요소는 고유한 인덱스를 통해 접근할 수 있고 연산도 가능합니다.

배열

 

배열의 생성

특정한 데이터 타입의 여러 값을 저장할 수 있는 공간을 메모리에 할당하는 과정을 말합니다. 배열을 생성할 때 배열이 저장할 타입과 배열의 크기를 지정 해야합니다.

배열의 생성
배열의 생성

배열의 순회

배열의 모든 원소를 한 번씩 접근하는 과정을 말합니다. 주로 반복문으로 사용하여 구현되고, 배열의 첫 번째 원소부터 마지막 까지 순서대로 접근합니다. 

배열의 순회

 

이과정에서 각 원소에 대한 연산을 수행하거나, 원소의 값을 확인하거나 변경할 수 있습니다. 

 

풀이

Python

for문 사용

def solution(numbers):
    answer = []
    for number in numbers:
        answer.append(number*2)
    return answer

 

파이썬에서는 가장 기본적인 for문은 특정 시퀸스를 순회하거나, 특정 횟수만큼 코드를 반복하는 작업을 수행합니다.

for 변수 in 시퀸스:
	수행할 문장

 

시퀸스

여기서 시퀀스는 리스트. 튜플, 딕셔너리, 문자열, range() 함수를 이용해 지정된 횟수만큼 코드를 반복하는데 사용됩니다.

  1. 리스트(List)
    대괄호 [ ], 안에 콤마,로 구분된 값들의 목록을 담습니다. 리스트는(mutable), 다양한 타입의 데이터를 담을수 있습니다.
    #리스트 예시
    my_list = [1, '사과', 3.14]​


  2. 튜플(Tuple)
    괄호( ) 안에 콤마로 구분된 값들의 목록을 담습니다. 튜플(immutable)은 변경 불가하고, 다양한 타입의 데이터를 담을수 있습니다.
    #튜플 예시
    my_tuple = (1, 'apple', 3.14)​


  3. 문자열(String)
    따옴표" "안에 콤마로 구분된 값을들의 목록에 담습니다. 변경이 불가능하고, 문자 타입의 데이터만 만들수 있습니다.
    my_string = "Hello, World!"​


  4. 레인지(Range)
    range() 함수를 사용하여 숫자의 시퀸스를 생성합니다. 레인지는 변경 불가능하며, 숫자 타입의 데이터만 담을수 있습니다.
    range(stop)​
    range(start, stop)​
    range(start, stop, step)​

 

 

append( )

append() 메서드는 파이썬의 리스트에서 제공하는 메서드 중 하나로, 리스트의 끝에 요소를 추가하는데 사용 됩니다.

  • append() 문법과 예제
    리스트명.append(추가할 요소)
    
    fruits = ['apple', 'banana']
    fruits.append('cherry')
    print(fruits)
    
    #['apple', 'banana', 'cherry]​

 

리스트 컴프헨션(List Comprehension)문 사용

def solution(numbers):
	return [number * 2 for number in numbers]

 

리스트 컴프헨션

  • 파이썬에서 리스트를 생성하는 간결하고 효율적인 방법입니다, 특정한 규칙에 따라 리스트를 생성하거나, 기존 리스트를 기반으로 새로운 리스트를 생성하는 데 사용합니다.
    [표현식 for 변수 in 시퀀스]
    squares = [i ** 2 for i in range(10)]
    
    print(squares)
    # [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
    
    [표현식 for 변수 in 시퀀스 if 조건]
    even_squares = [i ** 2 for i in range(10) if i % 2 == 0]
    print(even_squares)
    #[0, 4, 16, 36, 64]​

 

출처

https://school.programmers.co.kr/learn/courses/30/lessons/120809

반응형
profile

IdoCleanCode

@IdoCleanCode

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!