역 보안 문자

코드 출현 2017 1일차



1 부


  • 처음부터 순환 목록!
  • 작업 알고리즘 작성

  • 처음부터 순환 목록!


  • 1년 내내 반복되는 주제인줄 알았어
  • 그런데 1일차부터 시작하는 줄 몰랐어요

  • 내 작업 알고리즘 작성



    내 알고리즘 개요

    Split the input into an array of numbers
    For each number
      Accumulate a sum, starting a 0
        If the next number (wrapping if necessary) is the same number
          Increment the sum by the number at the current index
        Otherwise, increment the sum by 0...leaving it unchanged
    


    가능한 모든 매개변수를 활용하는 Areduce():

    return input
      .split('')
      .map(Number)
      .reduce((acc, curr, index, RA) =>
        acc += RA[index] == RA[(index + 1) % RA.length]
            ? curr : 0
      , 0)
    


    2 부



    내 작업 알고리즘 조정



    다음 인덱스를 확인하는 대신 목록의 절반 떨어진 ​​인덱스를 확인하겠습니다.

    내 알고리즘 개요

    Split the input into an array of numbers
    For each number
      Accumulate a sum, starting a 0
        If the number half a list length away (wrapping if necessary) is the same number
          Increment the sum by the number at the current index
        Otherwise, increment the sum by 0...leaving it unchanged
    

    index에 추가되는 숫자에 약간의 조정이 있으면 Voila!

    return input
      .split('')
      .map(Number)
      .reduce((acc, curr, index, RA) =>
        acc += RA[index] == RA[(index + (RA.length / 2)) % RA.length]
            ? curr : 0
      , 0)
    


    해냈어!!


  • 두 부분 모두 해결했습니다!
  • 연결된 배열 방법으로 구성된 하나의 긴 명령문을 사용합니다!
  • 두 부분이 단일 피연산자만 다른 경우!

  • 검토 중인 연도



    역순으로 작업한 이후로 오늘 처음으로 이 애니메이션을 보았습니다.


    이 정적 맵은 내가 시뮬레이터를 만든 퍼즐에 대해 다음을 수행해야 합니다.

  • 46 별! 새로운 개인 최고!
  • 별 2개 21일! 새로운 개인 최고!
  • 별 4일! 새로운 개인 최고!
  • 별이 없는 날이 0개! 새로운 개인 최고!

  • 8 simulators built ! 최저 금액은 2018년과 동률입니다.
  • 수많은 GIF가 생성되었습니다...퍼즐을 푸는 데 많은 도움이 되었습니다!

  • 수고했어, 2017년!

    좋은 웹페이지 즐겨찾기