π νλ‘κ·Έλλ¨Έμ€ Level1 κ°μ μ«μλ μ«μ΄
μ¬μ¬νμ΄ 1λ¨κ³ νμ΄
π λ¬Έμμ΄μ λ€λ£¨λ λ¬Έμ λ‘ μ‘°κΈλ§ μκ°ν΄λ΄λ ν μ μλ€. λ°λ‘ μ€λͺ μ μν΄λ λ κ² κ°λ€.
def solution(arr):
result = [arr[0]]
for i in range(1, len(arr)):
if result[-1] == arr[i]:
continue
else:
result.append(arr[i])
return result
π νλ‘κ·Έλλ¨Έμ€ Level1 μ€ν¨μ¨
1λ 벨 pythonμ κΈ°μ΄ lambda, sort, dict λ₯Ό μ λ€λ£¨μ΄μΌ νκΈ° νΈνλ©°
μ‘°κΈ μκ°μ΄ νμνλ€
def solution(N, stages):
result = {}
total = len(stages)
for i in range(1, N + 1):
if total != 0:
current_n = stages.count(i)
result[i] = current_n / total
total -= current_n
else:
result[i] = 0
result = sorted(result, key=lambda x :result[x], reverse=True)
return result
π pprintλ μ²μ μμλ€.
from pprint import pprint
λ₯Ό ν΄μ£Όκ² λλ©΄ μ¬μ© κ°λ₯νλ€
from collections import defaultdict
import random
from pprint import pprint
result = defaultdict(list)
for i in range(10):
for _ in range(10):
result[i].append(random.randint(1, 55))
pprint(result)
π μ μ½λμ μΆλ ₯μ printλ‘ νκ² λλ©΄
보기 νλ€κ² λμ€μ§λ§
pprintλ₯Ό μ¬μ©νκ² λλ©΄
μμκ°μ΄ μ§κ΄μ μΌλ‘ 보기 μ½κ² λμ¨λ€.
π μꡬ쑰건
- νλ‘κ·Έλ¨μ΄ μμλλ©΄ μ·μμΌκ΅¬ κ²μμ λͺ μ리 μ«μλ‘ ν κ±΄μ§ μ λ ₯ λ°μ μ£ΌμΈμ
- 3μ μ λ ₯ν κ²½μ° ν΄λΉ μ«μμΌκ΅¬ κ²μμ 3μλ¦Ώμλ‘ μ§ν, μ΅λ 10μ리
- 첫 λ²μ§Έ μ λ ₯μ λ°μ μλ¦Ώμ λ§νΌ ν νμ΄μ¬μΌλ‘ μ€λ³΅ μλ λλ€ν μλ₯Ό μμ±ν΄ μ£ΌμΈμ
- μ¬μ©μκ° μ«μλ₯Ό μ λ ₯ νμ λ μ«μμΌκ΅¬ κ²μμ κ·μΉμ λ§κ² ball / out countλ₯Ό μΆλ ₯ν΄ μ£ΌμΈμ
- μ¬μ©μκ° μ λ΅μ λ§μΆ κ²½μ° μλ νλͺ©λ€μ μΆλ ₯ν΄ μ£ΌμΈμ
- μ¬μ©μκ° μ λ΅μ λ§μΆκΈ°κΉμ§ μ λ ₯ ν νμ
- μ¬μ©μκ° κ²μμ μμν΄μ μ λ΅μ λ§μΆκΈ°κΉμ§ μμλ μκ°
- μ λ΅μ λ§μΆ μμ μ λ μ§/μκ°
- κ²μμ μ§ννλ λμ€, βexitβμ μ λ ₯ν κ²½μ° νλ‘κ·Έλ¨μ μ’ λ£ν΄ μ£ΌμΈμ
import sys
import random
import time
from typing import List
from datetime import datetime
from datetime import timedelta
def config_num(): # configuration 3 ~ 10 number
print('μλ¦Ώμ μ νκΈ° 3 ~ 10 μ¬μ΄ μλ₯Ό μ
λ ₯ν΄ μ£ΌμΈμ : ')
while 1:
num = input()
if not num.isdigit():
print('μ«μλ₯Ό μ
λ ₯ν΄ μ£ΌμΈμ.')
continue
elif int(num) > 2 and int(num) < 10:
break
else:
print('3 ~ 10μ μλ₯Ό μ
λ ₯ν΄ μ£ΌμΈμ.')
return num
def gen_ran_num(num: int) -> List:
temp = [i for i in range(10)]
answer_list = random.sample(temp, int(num))
return answer_list
if __name__ == '__main__':
now = datetime.now()
game_digit = config_num()
answer_list = gen_ran_num(game_digit)
print(answer_list)
cnt = 1
exit = True
start = time.time()
while 1:
print(f'μ λ΅ {game_digit}μλ¦Ώμλ₯Ό μ
λ ₯ν΄ μ£ΌμΈμ. ex) num num num')
while 1:
# player_input = list(map(int, sys.stdin.readline().split()))
temp = sys.stdin.readline().split()
if temp[0] == 'exit':
break
player_input = list(map(int, temp))
if len(player_input) == int(game_digit):
break
else:
print('μλ¦Ώμλ₯Ό νμΈν΄ μ£ΌμΈμ.')
if temp[0] == 'exit':
break
strike, ball = 0, 0
for i in range(int(game_digit)):
if player_input[i] == answer_list[i]:
strike += 1
elif player_input[i] in answer_list:
ball += 1
if strike == int(game_digit):
end = time.time()
sec = end - start
result_list = str(timedelta(seconds=sec)).split(".")
break
cnt += 1
print(f'{strike}S {ball}B')
if temp[0] == 'exit':
print('κ²μμ μ’
λ£ν©λλ€.')
else:
print('μΉλ¦¬!!')
print(f'{cnt}λ² λ§μ λ§μΆμ
¨μΌλ©°, {result_list[0]} μμ. νμ¬ μκ° :',now.strftime('%Y-%m-%d %H:%M:%S'))