본문 바로가기
프로그래머스/Lv.1

Summer/Winter Coding(~2018) > 예산 - Python, 바다코끼리 연산자(Walrus Operator)

by 아찌방 2024. 11. 16.

 

 

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

 

프로그래머스

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

programmers.co.kr

 

 

 

풀이 - 나의 생각

정렬된 리스트를 돌면서

 

예산에서 부서별 요청 금액을 빼가면서 세주면 됩니다.

 

"바다코끼리 연산자"(Walrus Operator)라는 것을 처음 알게 되었습니다.

 

이것을 사용하니 코드가 확 줄어들었네요.

 

바다코끼리 연산자란

 

값을 변수에 할당하면서 동시에 표현식에서 사용할 수 있게 하는 연산자입니다

 

사용법은 여러 사례가 있습니다.

 

1. 반복문에서 조건과 값을 한번에 처리하기

# 바다코끼리 연산자 사용 전
data = input("Enter something: ")
while data != "exit":
    print(f"You entered: {data}")
    data = input("Enter something: ")

# 바다코끼리 연산자 사용 후
while (data := input("Enter something: ")) != "exit":
    print(f"You entered: {data}")

 


2. 리스트 컴프리핸션에서 값 저장

(이번에 사용한 방법)

 

# 바다코끼리 연산자 사용 전
for x in range(10):
    result = x * x
    if result > 30:
        print(f"{x} squared is {result}")

# 바다코끼리 연산자 사용 후
for x in range(10):
    if (result := x * x) > 30:
        print(f"{x} squared is {result}")

 

 

 

코드

 

def solution(d, budget):    
    return sum(1 for m in sorted(d) if(budget := budget - m) >= 0)

 

 

 

 

 

 

 

다음에 또 봐요

 

728x90