본문 바로가기
Algorithm problem solving/풀이

[SW Expert Academy] 파이썬 기초2_딕셔너리 ( 6254~ 6258 )

by Jiyoon-park 2020. 2. 29.

딕셔너리 파트 시작 !
나는 알고리즘 문제를 풀 때 딕셔너리로 문제 접근을 많이해서 딕셔너리 러버라는 별명을 가지고 있다ㅋㅋㅋㅋ
싸피에서 다른 친구들 코드 공유할 때 보면 각자에게 선호되는 접근 방식이 다 달라서 재밌다ㅋㅋㅋ많이 배운다

6254. 딕셔너리_2

phone = { '홍길동': '010-1111-1111', '이순신': '010-1111-2222', '강감찬': '010-1111-3333' }

print('아래 학생들의 전화번호를 조회할 수 있습니다.')
for key in phone.keys():
    print(key)
print('전화번호를 조회하고자 하는 학생의 이름을 입력하십시오.')
name = input()
print('{}의 전화번호는 {}입니다.'.format((name),phone[name]))

6255. 딕셔너리_3

products = { "TV": 2000000, "냉장고": 1500000, "책상": 350000, "노트북": 1200000, "가스레인지": 200000, "세탁기": 1000000 }

result = sorted(products.items(), key=(lambda x : x[1]), reverse=True)

for r in result:
    print(f'{r[0]}: {r[1]}')


# lambda args : expression
# 함수(iterable, key=기준)

6256. 딕셔너리_4

a = {'아메리카노': 1900, '카페모카': 3300, '에스프레소': 1900, '카페라떼': 2500, '카푸치노': 2500, '바닐라라떼': 2900}
b = {'헤이즐럿라떼': 2900, '카페모카': 3300, '밀크커피': 3300, '아메리카노': 1900, '샷크린티라떼': 3300}

for key in b.keys():
    if key not in a.keys():
        a[key] = b[key]

result = { (key, val) for key, val in a.items() if val >= 3000 }
print(result)

# x for x in
# 원하는 결과값 for 뽑아올값 in iterable 조건문

6257. 딕셔너리_5

fruits = ['   apple    ','banana','  melon']

# fruit = [x.strip() for x in fruits]
# result = {}
# for f in fruit:
#     if f not in result.keys():
#         result[f] = len(f)

fruit = { x.strip():len(x.strip()) for x in fruits }

print(fruit)

크 다섯줄 짜리를 한줄로 바꾸는 x for x in 멋져

6258. 딕셔너리_6

n = int(input())
result = { x:x**2 for x in list(range(1,n+1))}

print(result)