전체 글

전체 글

    치킨 쿠폰★ 갱신의 논리

    문제풀이 def solution(chicken): coupon =chicken sum =0 eaten =0 while coupon>=10: eaten = coupon//10 sum = sum +eaten coupon= coupon % 10 +eaten return sum 문제해설 ▶ 먹은 만큼의 치킨 == 쿠폰 ▶ 쿠폰이 10장이상 있다면 무조건 치킨으로 바꾼다. ▶ 즉 10장미만이 되기 전까지 while문 계속 돌린다.

    특이한 정렬★★ - 리스트 통째 + 정렬기준★

    나의풀이 def solution(numlist, n): a=[] answer=[] for i in numlist: tmp= abs(i-n) a.append([tmp, i]) sorted_a = sorted(a, key=lambda x: (x[0], -x[1])) for i in sorted_a: answer.append(i[1]) return answer ▶ append의 요소로 리스트를 통째로 넣을 수 있다. → a.append([tmp, i]) ▶ a리스트의 요소가 [tmp, i]로 2개씩 추가 되므로 x[0], -x[1]은 각각의 요소에 접근한다. ▶ 즉 tmp = x[0] 으로 tmp를 오름차순으로 정렬 하되, tmp의 값이 중복되는 경우에는 ▶ i = x[1] 인데 -가 x[1]에 붙었으므로 i..

    dict 정렬 - 키 중복x, value 중복o

    dict 정렬 - 키 중복x, value 중복o

    dict = { 1:10, 3:25, 2:50, 6:36, 4:18} print(dict) list_key=sorted(dict.items(), key=lambda x : x[0]) #키를 이용한 정렬 list_value=sorted(dict.items(), key=lambda x : x[1]) #value를 이용한 정렬 print(list_key) print(list_value) 출력결과 반환형태가 리스트이며 리스트의 각 원소가 tuple형태임에 주의 한다. -x[0]을 붙여주는 경우 내림차순 정렬이 됨에 유의 한다. 첫 번째 인자를 기준으로 오름차순으로 먼저 정렬하고, 그 안에서 다음 두 번째 인자를 기준으로 내림차순으로 정렬하게 하려면, 다음과 같이 할 수 있다. list = [(1, 3), (0,..

    리스트의 문자열(기호포함) 각각 쪼개기

    리스트의 문자열(기호포함) 각각 쪼개기

    list = [ "3 + 9 = -3", "3 - 5 = +5"] a=list[0].split() b=list[1].split() print(a) print(b) a, b 출력결과