강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

padamx2님의 프로필 이미지
padamx2

작성한 질문수

파이썬 알고리즘 문제풀이 입문(코딩테스트 대비)

9. 주사위 게임

input 부분 수정

작성

·

175

1

코랩으로 파이썬을 사용해서 인풋을 안받아오고 따로 리스트로 입력하고 있었는데
이번 강의는 수정을 해보는데 잘 안되네요. 리스트 안의 리스트 숫자를 이용해야할 것 같은데 어떻게 할지 모르겠습니다.
n=3
input = [[336],[222],[625]]
res=0
for i in range(n):
  tmp= input.split()
  tmp.sort()
  a,b,c=map(int, tmp)
  if a==b and b==c:
    money=10000+a*1000
  elif a==b or a==c:
    money=1000+(a*100)
  elif b==c:
    money=1000+(b*100)
  else:
    money=c*100
  if money>res:
    res=money
print(res)

답변 1

0

안녕하세요.

n=3
input = [[3, 3, 6],[2, 2, 2],[6, 2, 5]]
res=0
for i in range(n):
	tmp = input[i]
	tmp.sort()
	a = tmp[0]
	b = tmp[1]
	c = tmp[2]
	if a==b and b==c:
		money=10000+a*1000
	elif a==b or a==c:
		money=1000+(a*100)
	elif b==c:
		money=1000+(b*100)
	else:
		money=c*100
	if money>res:
		res=money
	print(res)

2차원배열에서는 넘파이를 불러오고 넘파이 split()로 할 수 있긴한데 a, b, c에는 배열을 넣는게아니라 정수(3, 3, 6, 2, 2, 2, 6, 2, 5)를 넣기때문에 이렇게하면 될것같습니다. 그리고 입력이 안된다해도 변수(리스트)명을 굳이 input로 할필요가있나요? 다른언어(c언어)로는 입력함수는 input가 아닙니다.(대신 scanf()를 사용합니다.)

int input;
scanf("%d", &input);

그렇기때문에 배열의 이름은 arr, li(list의 줄임)등으로 지으는게 좋습니다.

padamx2님의 프로필 이미지
padamx2

작성한 질문수

질문하기