[프로그래머스]코딩테스트 Lv0 (3)

2025. 8. 11. 23:45·코딩 테스트/01. Python

1. n의 배수 고르기

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

 

프로그래머스

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

programmers.co.kr

방법 1) 기본

def solution(n, numlist):
    answer = []
    for i in numlist:
        if i % n == 0:
            answer.append(i)
    return answer
  • 리스트에 값을 추가할때는  append()
  • (=)은 대입 연산자, 비교할 때는  (==)

방법 2) 컴프리헨션

def solution(n, numlist):
    answer = [i for i in numlist if i%n==0]
    return answer

2. 배열 원소의 길이

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

 

프로그래머스

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

programmers.co.kr

방법 1) 기본

def solution(strlist):
    answer = []
    for i in strlist:
        answer.append(len(i))
    return answer

방법 2) 컴프리헨션

def solution(strlist):
	return[len(i) for i in strlist]

방법 3) list와 map함수 

① map(len, strlist)

: strlist의 각 요소에 len() 적용 -> 문자열 길이 구함

② 결과: [길이1, 길이2, ...] 형태의 map 객체

③ list()를 사용해서 map객체를 실제 리스트로 반환

def solution(strlist):
    answer = list(map(len, strlist))
    return answer

 

map() 함수 : 모든 요소에 함수를 적용

  • map(함수, 반복가능한 자료)
  • 리스트, 튜플, 문자열 등 반복 가능한 자료의 각 요소에 함수를 적용해주는 기능
  • 결과는 map 객체로 나오기 때문에 바로 출력하면 주소 처럼 보임.

list()

  • 리스트로 변환해주는 함수
  • map, range, set 같은 반복 가능한 자료를 실제 리스트로 만들어

실행 단계의 구체적인 설명

더보기

📌 코드

 
def solution(strlist):
    answer = list(map(len, strlist))
    return answer

1단계 — map(len, strlist)

  • map() 함수: **반복 가능한 자료(strlist)**의 각 요소에 len 함수를 적용
  • strlist 안에 문자열이 있다고 가정
strlist = ["We", "are", "the"]

map(len, strlist)

→ "We" → len("We") → 2
→ "are" → len("are") → 3
→ "the" → len("the") → 3

하지만, 이 시점에서는 결과가 계산돼서 리스트로 저장되는 게 아님.
map()은 map 객체(이터레이터)를 반환함.
즉, “길이를 구하는 계획”만 들어있는 상태.


2단계 — list(...)로 감싸기

  • map 객체는 이터레이터이므로 한 번만 순회 가능
  • list()를 쓰면 map 객체의 모든 값을 꺼내서 리스트 객체로 변환
list(map(len, strlist))

→ [2, 3, 3]


3단계 — 변수에 저장

answer = list(map(len, strlist))

이제 answer는 정수 리스트 → [2, 3, 3]


4단계 — return

return answer

함수 실행 결과 → [2, 3, 3]


💡 한 줄 해석

“strlist 안의 각 문자열 길이를 구해서, 그 결과를 리스트로 반환해라.”

 

'코딩 테스트 > 01. Python' 카테고리의 다른 글

[프로그래머스] 코딩테스트 Lv0(2)  (9) 2025.08.09
[프로그래머스] 코딩테스트 Lv0 (1)  (4) 2025.08.08
'코딩 테스트/01. Python' 카테고리의 다른 글
  • [프로그래머스] 코딩테스트 Lv0(2)
  • [프로그래머스] 코딩테스트 Lv0 (1)
Growth DA Log
Growth DA Log
Growth DA Log 님의 블로그 입니다.
  • Growth DA Log
    Growth DA Log님의 블로그
    Growth DA Log
  • 전체
    오늘
    어제
    • 분류 전체보기 (125)
      • TIS_COMPANY (6)
      • 코딩 테스트 (61)
        • 01. Python (3)
        • 02. SQL (58)
      • 데이터 분석 (53)
        • 01. BigQuery (9)
        • 02. GA4 (1)
        • 02-1. GA4를 더 잘 다루기 위한 마케팅 개.. (5)
        • 03. streamlit (5)
        • 04. Git (12)
        • 05. 데이터 엔지니어링 (3)
        • 06. 데이터 모델링 (11)
        • 07. Excel (0)
        • 08. Tableau (4)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    프로그래머스
    streamlit
    이행성
    윈도우함수
    cross_join
    코딩테스트
    revert
    코테
    Reset
    AARRR
    tableau
    tableaubootcamp
    SQL
    rank
    코드잇스프린트후기
    ROW_NUMBER
    쿼리테스트
    git
    DENSE_RANK
    solvesql
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
Growth DA Log
[프로그래머스]코딩테스트 Lv0 (3)
상단으로

티스토리툴바