728x90
def solution(n):
    answer = 0
    for i in range(1,n+1):
        if n % i == 0:
            answer += 1
    return answer

 

def solution(n):
    return len(list(filter(lambda v: n % (v+1) == 0, range(n))))

lambda

  • lambda 매개변수 : 표현식
  • 즉, lambda v는 n을 v+1로 나눴을 때 나머지가 0이 되는 값을 range n까지 모두 산출된다. 이 값을 리스트로 묶어 길이를 구하면 된다.
728x90
728x90
def solution(s1, s2):
    return len(set(s1)&set(s2));

 

set()

  • 집합 자료형을 만들 수 있는 함수로서, 중복을 허용하지 않고 순서가 없다.
  • 교집합: '&'
  • 합집합 : "|"
  • 차집합 : "-"
  • 교집합 : s1.intersection(s2)
  • 합집합 : s1.union(s2)
  • 차집합 : s1.difference(s2)
  • 값 1개 추가하기 : s1.add(a)
  • 값 여러개 추가하기 : s1.update([4, 5, 6])
  • 특정 값 제거하기 : s1.remove(2)
728x90
728x90

나의 코드

def solution(price):
    if price >= 500000:
        return int(price*0.8)
    elif price >= 300000 and price < 500000:
        return int(price * 0.9)
    elif price >= 100000 and price < 300000:
        return int(price * 0.95)
    else:
        return int(price)

.

.

def solution(price):
    discount_rates = {500000: 0.8, 300000: 0.9, 100000: 0.95, 0: 1}
    for discount_price, discount_rate in discount_rates.items():
        if price >= discount_price:
            return int(price * discount_rate)

다른 분의 코드

 

깔끔 그 자체인 코드..

728x90
728x90
def solution(array):
    return sorted(array)[len(array) // 2]

 

728x90
728x90
def solution(num1, num2):
    answer = num1/num2*1000
    return int(answer)
728x90
728x90
def solution(num1, num2):
    answer = num1 + num2
    return answer
728x90
728x90

문제 설명

머쓱이는 40살인 선생님이 몇 년도에 태어났는지 궁금해졌습니다. 나이 age가 주어질 때, 2022년을 기준 출생 연도를 return 하는 solution 함수를 완성해주세요.


제한사항
  • 0 < age ≤ 120
  • 나이는 태어난 연도에 1살이며 1년마다 1씩 증가합니다.

입출력 예ageresult
40 1983
23 2000

입출력 예 설명

입출력 예 #1

  • 2022년 기준 40살이므로 1983년생입니다.

입출력 예 #2

  • 2022년 기준 23살이므로 2000년생입니다.

<풀이>

def solution(age):
    answer = 2023 - age
    return answer
728x90
728x90
def solution(n):
    return sum([i for i in range(2, n + 1, 2)])
728x90

+ Recent posts