[pro] 약수의 개수와 덧셈

letsbebrave·2022년 3월 21일
0

codingtest

목록 보기
60/146
post-thumbnail

문제링크

https://programmers.co.kr/learn/courses/30/lessons/77884#

Dictionary

딕셔너리 출력하기

value 출력

dic = {'1':['수학'], '2':['영어']}

dic['1'] # ['수학']

dic.get('1') # ['수학']

dic.values() # dict_values([['수학'], ['영어']])

key 출력

dic = {'1':['수학'], '2':['영어']}

dic.keys() # dict_keys(['1','2'])

딕셔너리에 해당 key 있는지 확인 : key in 딕셔너리명

dic = {'1':['수학'], '2':['영어']}

'1' in dic # True

풀이

def solution(left, right):
    dic = dict()

    for i in range(left, right+1):
        cnt = 0
        for j in range(1, i+1):
            if i % j == 0:
                cnt += 1
        dic[i] = cnt
    
    answer = 0
    
    for i in dic: # i는 key가 출력됨
        if dic[i] % 2 == 0:
            answer += i
        else:
            answer -= i
    
    return answer

다른 풀이

def solution(left, right):
    answer = 0
    for i in range(left,right+1):
        if int(i**0.5)==i**0.5:
            answer -= i
        else:
            answer += i
    return answer
profile
그게, 할 수 있다고 믿어야 해

0개의 댓글