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 |