값을 입력한 후, 큰 숫자대로 수를 읽어주는 소스

조회수 2184회

다른분들이 sort 함수를 이용한 문제 풀이를 설명해주셨는데 for문을 사용해서 짜게 된다면 어떻게 할 수 있을까 하다가 해보게됬는데 이 소스를 더 줄일 수 있는 방법이 있는가 싶어서 질문 올립니다.

a=[0,0,0,0]
sum=0
max=0

a[0]=str(input("1번째 숫자 : "))
a[1]=str(input("2번째 숫자 : "))
a[2]=str(input("3번째 숫자 : "))
a[3]=str(input("4번째 숫자 : "))


for i in range(0,4):
     for j in range(0,4):
          for k in range(0,4):
               for l in range(0,4):
                    if i!=j:
                         if i!=k:
                              if i!=l:
                                   if j!=k:
                                        if j!=l:
                                             if k!=l:
                                                  sum=a[i]+a[j]+a[k]+a[l]
                                                  if max<int(sum):
                                                       max=int(sum)
                                                  else:
                                                       continue
                                             else:
                                                  continue
                                        else:
                                             continue
                                   else:
                                        continue
                              else:
                                   continue
                         else:
                              continue
                    else:
                         continue
print("가장 큰 수는 %d 입니다." % max)
  • 자료구조에 정렬파트를 공부해보세요. 정영훈 2017.4.18 01:26

1 답변

  • for문의 depth를 줄이고, 숫자를 입력받는 부분을 줄여봤습니다.

    하지만 왜 sort를 놔두고 for문으로 짜려고하는지는 잘 모르겠네요..

    a= input("숫자 4개를 입력해주세요: ").split()
    sum, max = 0, 0
    
    for i in range(0,4):
         for j in range(0,4):
              for k in range(0,4):
                   for l in range(0,4):
                        if i!=j and i!=k and i!=l and j!=k and j!=l and k!=l:
                              sum=a[i]+a[j]+a[k]+a[l]
                              if max<int(sum):
                                   max=int(sum)
                        else:
                             continue
    
    print("가장 큰 수는 %d 입니다." % max)
    
    • (•́ ✖ •̀)
      알 수 없는 사용자

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)