[프로그래머스][LV.0] 두 수의 합, 두 수의 차, 두 수의 곱 | python3
2025. 1. 14. 19:22ㆍ프로그래머스/LV.0
문제 링크: 두 수의 합 | 두 수의 차 | 두 수의 곱
문제 설명
문제 설명
그냥 두 수의 합과 차, 곱을 구하라는 문제
제한사항
문제 풀이
간단한 문제지만 사람들이 람다 함수로 풀길래 람다함수에 대해 공부할겸 정리한다.
♠ 람다함수
- 한 줄로 함수를 표현
- 구성이 간단하여 간단한 연산을 하는데 사용된다
- lambda <인자> : <인자 활용 수행 코드>
=> <인자>를 전달하면<인자 활용 수행 코드>를 수행하여 결과를 바로 반환
인자는 콤마(,)로 구분하여 여러 개 사용 가능
내코드
def solution(num1, num2):
return lambda num1,num2 : num1+num2
def solution(num1, num2):
return lambda num1,num2 : num1 - num2
def solution(num1, num2):
return lambda num1, num2 : num1*num2
람다를 활용하여 풀어봤다.
더보기
더보기
더보기
다른사람풀이
solution=lambda *x:sum(x)
이런 풀이도 있었다.
람다는 익명함수 이며, *x는 함수로 들어오는 인수를 튜플로 패킹한다는 뜻이라고 한다.
흠....*x가 이해가 안된다.
'print(*x)할 때는 언패킹해서 프린터하던데 람다도 일급함수니까 함수에서 *연산자를 사용하면 패킹을 하는거' 이런 댓글이 있었다.
♣ *연산자
- 패킹 언패킹과 관련이 있다
- 패킹 연산자로 사용하면 매게변수 앞에 *를 붙여 가변 인자들을 하나로 묶어 함수에 전달한다.
이 부분에 대해서는 더 공부하고 따로 글을 올려야 할 것 같다.
def solution(num1, num2):
#return num1 * num2
i = 0
answer = 0
while i < num2:
answer += num1
i += 1
return answer
이건 수학적 사고방식을 코드로 나타낸 것 같아 가지고 왔다.
num1을 num2번 더한다. i가 0부터 시작하기 때문에 ( 0 ~ num2-1 ) 이렇게 반복되니 i가 num2가 되면 while 문을 나오도록 한다.
'프로그래머스 > LV.0' 카테고리의 다른 글
[프로그래머스][LV.0] 주사위 게임 3 | python3 (0) | 2025.02.03 |
---|---|
[프로그래머스][LV.0] 배열 만들기 2 | python3 (0) | 2025.02.03 |
[프로그래머스][LV.0] 숫자 비교하기 | python3 (0) | 2025.01.14 |
[프로그래머스][LV.0] 몫 구하기 | python3 (0) | 2025.01.14 |
[프로그래머스][LV.0] 중복된 숫자 개수 | python3 (0) | 2025.01.14 |