[제로베이스]_과일 오름차순내림차순_

김서아·2023년 1월 28일
0

기타

목록 보기
8/10
fruits = ({'수박':8},{'포도':13},{'참외':12},{'사과':17},{'자두':19},{'자몽':15})

fruits = list(fruits)
cIdx = 0
nIdx = 1
eIdx = len(fruits) -1

flag = True
while flag:
    curDic = fruits[cIdx]
    nexDic = fruits[nIdx]
    curDictCnt = list(curDic.values())[0]
    nextDictCnt = list(nexDic.values())[0]

    if nextDictCnt > curDictCnt:
        fruits.insert(cIdx, fruits.pop(nIdx))
        nIdx = cIdx + 1
        continue

    nIdx += 1
    if nIdx > eIdx:
        cIdx += 1
        nIdx = cIdx + 1

        if cIdx == 5:
            flag = False
print(tuple(fruits))
print('-' * 30)

fruits = ({'수박': 8}, {'포도': 13}, {'참외': 12}, {'사과': 17}, {'자두': 19}, {'자몽': 15})

fruits = list(fruits)
cIdx = 0
nIdx = 1
eIdx = len(fruits) - 1

flag = True
while flag:
    curDic = fruits[cIdx]
    nextDic = fruits[nIdx]
    curDictCnt = list(curDic.values())[0]
    nextDictCnt = list(nextDic.values())[0]
    if nextDictCnt < curDictCnt:
        fruits.insert(cIdx, fruits.pop(nIdx))
        nIdx = cIdx + 1
        continue
    nIdx += 1
    if nIdx > eIdx:
        cIdx += 1
        nIdx = cIdx + 1
        if cIdx == 5:
            flag = False
print(tuple(fruits))

0개의 댓글