모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    Djerzinski님의
    개인페이지입니다
    가입 : 14-01-25
    방문 : 75회
    닉네임변경 이력
    회원차단
    회원차단해제
    게시물ID : programmer_794
    작성자 : Djerzinski
    추천 : 0
    조회수 : 1625
    IP : 121.136.***.149
    댓글 : 2개
    등록시간 : 2014/01/25 05:18:10
    http://todayhumor.com/?programmer_794 모바일
    프로젝트 오일러 질문입니다 ㅠㅠ(파이썬)
    프로그래밍 관심있는 이제 2학년올라가는 비전공자입니다
    코드카데미에서 파이썬을 혼자 끝내긴 했는데요 이제 뭘 더할지도 잘 모르겠고 해서
    일단은 프로젝트 오일러 문제라도 풀어보고 있습니다.
    다름이 아니라 문제 8번에서 코드는 멀쩡하게 돌아가는것 같은데 답이 아니라고 해서 질문 올립니다.
    다음은 문제입니다.

    다음은 연속된 1000자리 숫자입니다 (읽기 좋게 50자리씩 잘라놓음).

    73167176531330624919225119674426574742355349194934
    96983520312774506326239578318016984801869478851843
    85861560789112949495459501737958331952853208805511
    12540698747158523863050715693290963295227443043557
    66896648950445244523161731856403098711121722383113
    62229893423380308135336276614282806444486645238749
    30358907296290491560440772390713810515859307960866
    70172427121883998797908792274921901699720888093776
    65727333001053367881220235421809751254540594752243
    52584907711670556013604839586446706324415722155397
    53697817977846174064955149290862569321978468622482
    83972241375657056057490261407972968652414535100474
    82166370484403199890008895243450658541227588666881
    16427171479924442928230863465674813919123162824586
    17866458359124566529476545682848912883142607690042
    24219022671055626321111109370544217506941658960408
    07198403850962455444362981230987879927244284909188
    84580156166097919133875499200524063689912560717606
    05886116467109405077541002256983155200055935729725
    71636269561882670428252483600823257530420752963450

    여기서 붉게 표시된 71112의 경우 7, 1, 1, 1, 2 각 숫자를 모두 곱하면 14가 됩니다.

    이런 식으로 맨 처음 (7 × 3 × 1 × 6 × 7 = 882) 부터 맨 끝 (6 × 3 × 4 × 5 × 0 = 0) 까지 5자리 숫자들의 곱을 구할 수 있습니다.

    이렇게 구할 수 있는 5자리 숫자의 곱 중에서 가장 큰 값은 얼마입니까?

    다음은 제 코드입니다. (왕초보 주의 완전못함 주의 ㅋㅋ)

    inputstr='\
    73167176531330624919225119674426574742355349194934\
    96983520312774506326239578318016984801869478851843\
    85861560789112949495459501737958331952853208805511\
    12540698747158523863050715693290963295227443043557\
    66896648950445244523161731856403098711121722383113\
    62229893423380308135336276614282806444486645238749\
    30358907296290491560440772390713810515859307960866\
    70172427121883998797908792274921901699720888093776\
    65727333001053367881220235421809751254540594752243\
    52584907711670556013604839586446706324415722155397\
    53697817977846174064955149290862569321978468622482\
    83972241375657056057490261407972968652414535100474\
    82166370484403199890008895243450658541227588666881\
    16427171479924442928230863465674813919123162824586\
    17866458359124566529476545682848912883142607690042\
    24219022671055626321111109370544217506941658960408\
    07198403850962455444362981230987879927244284909188\
    84580156166097919133875499200524063689912560717606\
    05886116467109405077541002256983155200055935729725\
    71636269561882670428252483600823257530420752963450'

    def CutOneLine(onelinestr):
        ## i: one line str
        ## o: list of 5position num strs
        fivenumlist=[]
        for i in range(0,int(len(onelinestr)/5)):
            fivenumlist.append(onelinestr[i*5:(i*5)+5])
        return fivenumlist

    def MultNum(fivenumstr):
        ## i: one 5position num str
        ## o: mult of them (num)
        result=1
        for i in range(5):
            result=result*int(fivenumstr[i])
        return result

    ##main func:
    lisofnum=CutOneLine(inputstr)
    lisofmultnum=[]

    for i in range(len(lisofnum)):
        lisofmultnum.append(MultNum(lisofnum[i]))

    print(max(lisofmultnum))

    이렇게 실행하니 31752 가 나오더라고요
    변수 lisofnum이나 lisofmulnum 값을 직접 봐도 의도대로 돌아가는거 같은데ㅠㅠ

    그런데 답은 40824 라고 하네요

    구글링 해본 답안 코드를 보니 

    num = '\
    73167176531330624919225119674426574742355349194934\
    96983520312774506326239578318016984801869478851843\
    85861560789112949495459501737958331952853208805511\
    12540698747158523863050715693290963295227443043557\
    66896648950445244523161731856403098711121722383113\
    62229893423380308135336276614282806444486645238749\
    30358907296290491560440772390713810515859307960866\
    70172427121883998797908792274921901699720888093776\
    65727333001053367881220235421809751254540594752243\
    52584907711670556013604839586446706324415722155397\
    53697817977846174064955149290862569321978468622482\
    83972241375657056057490261407972968652414535100474\
    82166370484403199890008895243450658541227588666881\
    16427171479924442928230863465674813919123162824586\
    17866458359124566529476545682848912883142607690042\
    24219022671055626321111109370544217506941658960408\
    07198403850962455444362981230987879927244284909188\
    84580156166097919133875499200524063689912560717606\
    05886116467109405077541002256983155200055935729725\
    71636269561882670428252483600823257530420752963450'

    biggest = 0
    i = 0
    while i < len(num) - 4:
        one = int(num[i])
        two = int(num[i+1])
        thr = int(num[i+2])
        fou = int(num[i+3])
        fiv = int(num[i+4])
        product = one*two*thr*fou*fiv
        if product > biggest:
            biggest = product
        i = i + 1
    print(biggest)

    elapsed = (time.time() - start)
    print("This code took: " + str(elapsed) + " seconds")

    이렇게 되어 있는데 이걸 봐도 제 코드가 어디서 잘못됐는지 모르겠더라고요ㅠㅠ

    비천한 실력에 송구하게나마 질문 올립니다 ㅠㅠ
    즐거운 하루 되세요ㅎㅎ



    Djerzinski의 꼬릿말입니다
    대처인줄 알았는데 까보니 사라 페일린 ㅋㅋㅋ

    이 게시물을 추천한 분들의 목록입니다.
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    6
    웨스트윙 보신분 계신가요? Djerzinski 14/02/27 22:06 12 0
    5
    아이큐100이랑 160이랑 차이가 있을까요? Djerzinski 14/02/27 21:30 25 0
    4
    파이썬 클래스 질문입니다(인스턴스에 메서드추가하기)(왕초보왕못함 주의ㅠ) Djerzinski 14/02/17 23:06 18 0
    3
    이성의 실패인가 인간의 실패인가? Djerzinski 14/02/03 21:29 16 0
    2
    Do you want to Djerzinski 14/02/03 21:09 35 2
    프로젝트 오일러 질문입니다 ㅠㅠ(파이썬) [2] Djerzinski 14/01/25 05:18 32 0
    [1]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈