[백준]2480_주사위 세개(Python)

차보경·2022년 10월 25일
1

백준

목록 보기
11/20
post-thumbnail

문제

로직 정리

숫자 3개 입력받아 list로 입력
for 문으로 돌려서 몇개인지 확인
값계산

알아야 할 것

list 내 갯수 확인 = list.count(list_num)

작성 코드

dice_list = list(map(int, input().split()))

max_num = 1
for i in dice_list:
    count_num = dice_list.count(i)
    if count_num == 3:
        money = 10000 + i * 1000
        break  
    elif count_num == 2:
        money = 1000 + i * 100
        break
    else: 
        max_num = i if i > max_num else max_num
        money = max_num * 100

print(money)

메모리 : 시간 68ms, 코드길이 : 356B

복기

  • 처음에 리스트로 넣을 때, dice_list = int([map(int, input().split())])이렇게 넣으니까 max_num 계산시 map과 int는 비교할 수 없다고 나온다. 값의 종류가 map으로 들어가버리니까 그런듯. 그래서 밖에 int로 처리해볼까? 라고 생각하니까 굳이 map에서 int 처리를 했는데 또 처리할 필요는 없는 것 같았다.
    그래서 list(map(int, input().split()))이렇게 리스트를 밖으로 빼서 묶어주니까 되더라..

  • [map(int, input().split())] 이것과 list(map(int, input().split()))의 차이가 나는건 왜일까..?

  • list()[]의 차이!
    블로그 - Python, [](대괄호)와 list()의 차이
    - 위의 블로그를 보면 잘 정리되어있어 도움이 많이 됐다!
    - 먼저 []list()는 결과는 동일하지만 작동 원리가 다르다는게 핵심!
    - 자세한 내용은 따로 정리글을 적을 예정이다. 짧게 말하면,
    []는 바로 list임을 인지하고 내부 값의 포인트를 저장하는 것 같다.
    (그래서 list[0]값을 출력하면 map object값 나옴)
    그리고 list()는 list 함수를 불러오고 그 함수 안에 값을 채워넣는 식이라 그 값이 나오는 것 같음.
    ( list[0]값을 출력하면 해당 값이 나옴)

    신기하고 재밌는 파이썬의 세계~

다른사람 코드

*_, a, b, c = sorted(input())
print(['1'+b, c][a<b<c]+'000'[a<c:])
  • 이분은 sorted 값을 받아서 그걸 사용하셨다.
a,b,c=sorted(map(int,input().split()))
print([c,b+10,b*10+100][[a,b,c].count(b)-1]*100)
  • 이분은 sorted + map
profile
차보의 Data Engineer 도전기♥ (근데 기록을 곁들인)

0개의 댓글

Powered by GraphCDN, the GraphQL CDN