namdicul's blog

気ままに更新します. CTFと暗号理論について勉強中です.

"Cpaw CTF" Q14.[PPC]並べ替えろ!

下にある配列の中身を大きい順に並べ替えて、くっつけてcpaw{並べ替えた後の値}をフラグとして提出してください。 
例:もし配列{1,5,3,2}っていう配列があったら、大きい順に並べ替えると{5,3,2,1}となります。 
そして、フラグはcpaw{5321}となります。 
同じようにやってみましょう(ただし量が多いので、ソートするプログラムを書いたほうがいいですよ!) 


[15,1,93,52,66,31,87,0,42,77,46,24,99,10,19,36,27,4,58,76,2,81,50,102,33,94,20,14,80,82,49,41,12,143,121,7,111,100,60,55,108,34,150,103,109,130,25,54,57,159,136,110,3,167,119,72,18,151,105,171,160,144,85,201,193,188,190,146,210,211,63,207]

 Answer: 

問題文の通り, リストの中の数字を逆順にソートしてあげればOKですね. 今回はPythonでコードを書きました. 久しぶりにPythonでコードを書いたので, パッと関数を思い出すことができなかった...反省反省. コードは以下を参照してください. 

 

sort.py

import sys

 

list = [15,1,93,52,66,31,87,0,42,77,46,24,99,10,19,36,27,4,58,76,2,81,50,102,33,

94,20,14,80,82,49,41,12,143,121,7,111,100,60,55,108,34,150,103,109,130,25,54,57,

159,136,110,3,167,119,72,18,151,105,171,160,144,85,201,193,188,190,146,210,211,63,207]

 

list = sorted(list, reverse=True)

 

for i in list:

    sys.stdout.write("{0}".format(i))