?

삼성에서 Soul폰 광고의 일환으로 소녀시대 스크린 세이버를 내놓았습니다. 제 입에서 이런 소리가 나올 줄은 정말 몰랐네요.

사랑해요! 삼성 ㅋ

스크린 세이버는 시계로 위의 사진 처럼 9명의 소시맴버가 각각 0~8번까지의 번호판을 들고 등장합니다.

정신줄을 놓고 이 시계를 보다 보니, 문득

어라? 우리 탱구가 너무 덜 나오는거 같아!!

라는 생각이 들어 파이썬으로 누가누가 몇번씩 나오는지 세어 보기로 했습니다.

우선 0~9번까지의 번호판을 누가 들고 있는지에 대한 list를 만듭니다. (인덱스가 들고 있는 번호)


>>> GG = ['티파니','윤아','태연','제시카','수영','효연','유리','써니','서현','핸드폰']

다음 누구 몇번 나왔는지를 저장할 dict을 선언


>>> GGShownTimes = {}

더? 좋은 알고리즘이 있겠지만, 그걸 생각해 내는 시간보다 이걸 기다리는게 빠르므로 아래와 같이 러프하게 세어보았습니다.


>>> for h in range(0,24):
	for m in range(0,60):
		for s in range(0,60):
			strTime = '%02d:%02d:%02d'%(h,m,s)
			for i in range(10):
				iCount = strTime.count('%d'%i)
				G = GG[i]
				if GGShownTimes.has_key(G):
					GGShownTimes[G] += iCount
				else:
					GGShownTimes[G] = 0

이제 dict의 value(몇번 나왔나)를 기준으로 key(소녀)를 역순 정렬 합니다.


>>> from operator import itemgetter
>>> sortedGGShownTimes = sorted(GGShownTimes.items(), key=itemgetter(1), reverse=True)

그리고 출력


>>> for G, sTime in sortedGGShownTimes:
	print G, sTime, '번'

윤아 92880티파니 92874태연 71280제시카 56880효연 53280수영 53280써니 24480핸드폰 24480서현 24480유리 24480

오호! 예상과 달리 탱구가 제일 많이 등장하네요!!

어쩜 이렇게 사심을 담아 틀렸는지 -_-;; 잘못된 내용이 있어 코드 수정하였습니다. 탱구는 3등~

이래저래 기분 좋은 하루 입니다. 룰루~