728x90
오늘도 역시 ~
인프런의 김태원 - 파이썬 알고리즘을 풀었다.
이름은 주사위게임
3개를 던지는데
3개, 2개 , 1개가 같은 눈이 나오는 경우를 나누어
상금이 달라진다.
나는 갸우뚱하다가 문제를 풀었고 성공은했다.
if __name__=="__main__" :
n = int(input())
answer = []
for i in range(n):
arr_input = list(map(int,input().split()))
arr = [0]*7
max_idx = 0
max_val = 0
for x in arr_input :
arr[x] +=1
if max(arr) != 1 :
for idx, val in enumerate(arr) :
if val == max(arr) :
max_idx = idx
break
if max(arr) ==2 :
answer.append(1000+max_idx*100)
else :
answer.append(10000+max_idx*1000)
else :
for idx, val in enumerate(arr) :
if val == 1 and idx > max_idx :
max_idx = idx
answer.append(max_idx * 100)
print(max(answer))
참 하드코딩 기가막히게 했다.
강사님의 코드는 ?!
아니 .... 이거 알았냐구 ..
arr_input = input().split()
print(arr_input)
이렇게 하면 3 3 6을 input으로 넣었을 때
결과가
['3', '3', '6'] 이렇게 된다.
아 이렇게 하나씩 들어가서 str형태로 리스트화 되는구낭
if __name__=="__main__" :
n = int(input())
res = 0
for i in range(n):
tmp = input().split()
tmp.sort()
a,b,c = map(int,tmp)
if a == b and b == c: # 3개가 같은경우
money = 10000 + a *1000
elif a==b or a==c : # 2개가 같은 경우
money = 1000 + a * 100
elif b == c : # 2개가 같은경우
money = 1000 + b * 100
else : money = c*100 # 다 다른경우 (이미 sort된것이므로 c로 하면됨)
if money > res : res = money
print(res)
참 간단하고 이해하기 쉽게 코드를 만드셨다.
내가 코딩 실력이 많이 부족하구나 ... 😢
+ ) sort와 sorted 차이 아시죠 ?
.sort() 하면 . 앞에 붙은 리스트가 바로 정렬됩니다.
sorted( "리스트 자리" ) 하면 sorted 함수의 인수로 들어간 리스트가 정렬된 값을 반환합니다.
반응형
'취업 > TIL' 카테고리의 다른 글
20231113_회문 문자열 검사[Python] (0) | 2023.11.13 |
---|---|
20231109_점수계산_[Python알고리즘] (2) | 2023.11.10 |
20231107_뒤집은소수_소수판별법[Python알고리즘] (1) | 2023.11.07 |
20231102_알고리즘(자릿수의 합,소수,웹서비스구조_두번째확장) (0) | 2023.11.04 |
20231101_TIL(알고리즘-대표값,정다면체_웹서비스구조 첫번째) (2) | 2023.11.01 |