def solution(n, numlist):
# numlist에 있는 숫자들을 차례로 돌며
# n의 배수인 수들만 answer list
answer = [i for i in numlist if i%n == 0]
return answer
def solution(n):
answer = sum([int(i) for i in str(n)])
return answer
def solution(id_pw, db):
for i in db:
if id_pw[0] in i: #id가 있는 경우
if id_pw[1] == i[1]: #비밀번호도 일치한 경우
return "login"
else: #비밀번호는 일치하지 않는 경우
return "wrong pw"
return "fail" #id가 없는 경우
좋아요가 가장 많았던 풀이
def solution(id_pw, db): if db_pw := dict(db).get(id_pw[0]): return "login" if db_pw == id_pw[1] else "wrong pw" return "fail"
✅ 짚고 넘어가기 :
:=
이란?python 3.8부터 새로 추가된 문법
변수 := 표현식
- 표현식의 결과를 변수에 할당함과 동시에 반환함
예시)
a = 'hello world' result = 'hello' in a if result: print(a) print(result)
위의 코드를 간결하게 표현 가능
if result := 'hello' in (a := 'hello world'): print(a) print(result)
def solution(rsp):
answer = ''
for i in rsp:
if i == '2':
answer +='0'
elif i == '0':
answer += '5'
else:
answer += '2'
return answer
문제 설명
임의의 양의 정수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려 합니다.
n이 양의 정수 x의 제곱이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱이 아니라면 -1을 리턴하는 함수를 완성하세요.
제한 사항
n은 1이상, 50000000000000 이하인 양의 정수입니다.
import math
def solution(n):
if math.sqrt(n) == int(n**0.5):
return (math.sqrt(n) + 1) ** 2
else:
return -1
문제 설명
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제한 사항
n은 0 이상 3000이하인 정수입니다.
def solution(n):
answer = 0
for i in range(1, n+1):
if n % i == 0 :
answer += i
return answer
def solution(num1, num2):
if num1 == num2:
return 1
else:
return -1