MapleStory Finger Point Cute Line Smiley Blinking Hello Kitty Angel MapleStory Finger Point

๐Ÿ’Ž Python/Python_Code

หšโ‚Šโœฉโ€งโ‚Š ๊ธฐ์ฐจ ์ˆ˜์†ก๋Ÿ‰์— ๋”ฐ๋ผ ์ˆœ์œ„ ๋งค๊ธฐ๊ธฐ - ํŒŒ์ด์ฌ for Beginner (2ํŒ) หšโ‚Šโœฉโ€งโ‚Š

HYEJU01 2024. 3. 28. 02:48

์—ฌ๋Ÿฌ ๊ธฐ์ฐจ๋ณ„ ์ˆ˜์†ก๋Ÿ‰์— ๋”ฐ๋ฅธ ์ˆœ์œ„ ์ถœ๋ ฅ์„ ํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ

 

ํŠœํ”Œ๋ฆฌ์ŠคํŠธ๋ฅผ ๋งŒ๋“ค์–ด์„œ ๊ธฐ์ฐจ์ด๋ฆ„, ์ˆ˜์†ก๋Ÿ‰(ํ†ค) ์„ ์ž…๋ ฅํ•ด์ค€๋‹ค.

 

trainTupleList ๋ฅผ ๋”•์…”๋„ˆ๋ฆฌ๋กœ ๋ณ€ํ™˜ํ•ด์ค€๋‹ค.

tName ๊ฐ’์—๋Š” tmpTup [0] ๋ฒˆ์งธ ๊ฐ’ = ์ง€ํšจ

tWeight ๊ฐ’์—๋Š” tmpTup [1] ๋ฒˆ์งธ ๊ฐ’ = 5

์กฐ๊ฑด๋ฌธ = trainDic์— tName ์ด ์žˆ๋Š”์ง€ ํ™•์ธ

์žˆ์œผ๋ฉด + ๋ˆ„์ 

์—†์œผ๋ฉด + ๋Œ€์ž…

(.... ๋ฐ˜๋ณตํ•ด์ค€๋‹ค)

-------------------

๊ทธ๋‹ค์Œ์€ ๋”•์…”๋„ˆ๋ฆฌ ์ •๋ ฌ ์ฝ”๋“œ๋‹ค

ํ‚ค๋กœ ์ •๋ ฌํ•œ ํ›„ ๋”•์…”๋„ˆ๋ฆฌ ์ถ”์ถœ 

๊ฒฐ๊ณผ๋Š” ํŠœํ”Œ๋กœ ๋ณ€๊ฒฝ -> ๋ฆฌ์ŠคํŠธ๋กœ ๋ฐ˜ํ™˜๋จ

itemgetter(1)์€ ์˜ ์•„์ดํ…œ์ธ ํŠœํ”Œ์˜ 2๋ฒˆ์งธ ์š”์†Œ๋ฅผ ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌํ•˜๊ฒ ๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.

TrainList ๋Š” ์ˆซ์ž ๊ธฐ์ค€์œผ๋กœ ์ •๋ ฌ์ด ๋œ๋‹ค. 

 

-------------------

๊ทธ ๋‹ค์Œ์€ ์ •๋ ฌํ•œ ์ˆœ์„œ๋Œ€๋กœ ๊ธฐ์ฐจ์ด๋ฆ„/ ์ด์ˆ˜์†ก๋Ÿ‰์„ ์ถœ๋ ฅํ•˜๋Š” ์ฝ”๋“œ

0๋ฒˆ์งธ๋Š” ๊ทธ๋Œ€๋กœ ์ถœ๋ ฅ

1๋ฒˆ์งธ๋ถ€ํ„ฐ ์‹œ์ž‘

   for i in range (1, len(trainList)):  // trianlist ๊ธธ์ด๊นŒ์ง€ 1~(4-1)
        totalRank += 1
        if trainList[i][1] == trainList[i-1][1]: 
            pass
        else :
            currentRank = totalRank

 

๋‚˜์—ฐ ๋ฏธ๋‚˜ ์ง€ํšจ ๋ชจ๋ชจ

0       1       2       3

๋ฏธ๋‚˜ , 13   == ๋‚˜์—ฐ , 17

๋ฏธ๋‚˜ +2

์ง€ํšจ  == ๋ฏธ๋‚˜

์ง€ํšจ +3

๋ชจ๋ชจ == ์ง€ํšจ

๋ชจ๋ชจ +4

 

import operator

trainTupleList = [('์ง€ํšจ',5),('๋‚˜์—ฐ',8),('๋‚˜์—ฐ',9),('๋ชจ๋ชจ',5),
                  ('๋ชจ๋ชจ',3),('๋ฏธ๋‚˜',5),('์ง€ํšจ',5),('๋ฏธ๋‚˜',8)]

trainDic, trainList = {},[]
tmpTup = None
totalRank, currentRank = 1,1


if __name__ == "__main__" :
    for tmpTup in trainTupleList :
        tName = tmpTup[0]
        tWeight = tmpTup[1]
        if tName in trainDic :
            trainDic[tName] += tWeight
        else:
            trainDic[tName] = tWeight

    print('๊ธฐ์ฐจ์ˆ˜์†ก๋Ÿ‰ ๋ชฉ๋ก = > ', trainTupleList)
    print('================== ')
    trainList = sorted(trainDic.items(),key = operator.itemgetter(1), reverse=True)

    print('๊ธฐ์ฐจ์ˆ˜์†ก๋Ÿ‰ ์ˆœ์œ„ = > ' )
    print('================== ')
    print(trainList[0][0], '\t' , trainList[0][1], '\t', currentRank)
    for i in range (1, len(trainList)):
        totalRank += 1
        if trainList[i][1] == trainList[i-1][1]:
            pass
        else :
            currentRank = totalRank
        print(trainList[i][0], '\t', trainList[i][1], '\t', currentRank)