1이상 100000이하의 랜덤수를 1000개 생성하여, 1의 자릿수를 기준으로 그룹을 생성합니다. 그룹내 숫자의 수가 많은 순서대로 랭킹을 만들고, 그 결과를 CSV 파일로 생성합니다.
- 파이썬 라이브러리인 csv 모듈을 활용하셔야합니다. 직접 문자열 조합은 불가합니다.
- CSV파일은 cp949 인코딩으로 생성토록 해주세요.
open
함수에서 newline='\n'
을 지정해주시면, 엑셀에서 열어보실 때 빈 줄이 생성되는 것을 방지하실 수 있습니다. 디폴트로 '\r\n'
라서 그래요. :)
import csv
from collections import defaultdict
import random
def main():
rank_dict = defaultdict(list)
for i in range(1000):
number = random.randint(1, 100000)
# TODO:
# TODO:
if __name__ == '__main__':
main()
생성된 CSV파일은 아래와 같은 포맷을 가져야합니다.
랭크,1의자릿수,그룹 내 숫자 갯수,그룹 내 제일큰수,그룹 내 다음 큰수,그룹 내 그 다음 큰수
1,8,128,99888,99848,99748
2,4,115,99664,99594,97524
3,3,110,99603,99203,98393
4,1,103,94171,93521,92561
5,7,101,98157,97567,97107
6,5,97,99945,97265,96775
7,0,90,98370,96450,95570
8,2,90,99222,98902,97882
9,9,85,99919,99709,99139
10,6,81,95816,95216,89356