당신이 레지스터를 좋아한다고 들었어
코드 출현 2017 8일차
퍼즐 입력을 사용하여 시뮬레이터를 사용해보십시오!
1 부
reduce()
...? switch
문 포함하나의 거대한 reduce() ...?
지침에 따라 다음을 수행해야 합니다.
compute the result of a series of unusual register instructions
완료되면 다음을 찾으십시오.
the largest value in any register after completing the instructions
나는 모든 것을 다음과 같은 알고리즘으로 해석합니다.
Return the largest number from
The list of values associated with keys in a dictionary
That has been accumulated from a list of instructions
JavaScript에서는 다음과 같이 표시됩니다.
return Math.max(
...Object.values(
input.reduce((accumulator, current) => {
// Process each instruction
// Make sure keys exist in the accumulating object
// And that they start with the value 0
// Update and return the accumulating object
}, {})
)
)
두 개의 switch 문으로
첫 번째
switch
는 >
, <
, >=
, <=
, ==
, !=
두 번째는
inc
, dec
를 처리합니다.입력 패턴의 청사진은 다음과 같습니다.
xhe dec -173 if vhu > 98
registerA updates-by amount if registerB compares-to number
switch
하나는 compares-to
에 연결됩니다.Set a flag as false
Depending on what compares-to is:
Update flag to whether the value stored in registerB as compared to number is true or false
switch
두 개는 flag
가 true이고 updates-by
에 달려 있는 경우에만 실행됩니다.Depending on what updates-by is:
Increment or decrement the value stored in registerA by amount
내 알고리즘 테스트:
2 부
reduce() 이제 두 가지!
reduce()
가 객체만 축적지침에 따라 개체를 업데이트한 후 이제 다음을 수행해야 합니다.
Determine the maximum value among each of the stored values in the object, stored as max
If max is greater than the value currently stored in the second element of the accumulating array
Update the second element to equal max
JavaScript에서는 다음과 같이 표시됩니다.
return input.reduce((accumulator, current) => {
// Process each instruction
// Make sure keys exist in the accumulating object
// And that they start with the value 0
// Update and return the accumulating object
// Update the max value if a new one exists
}, [{},0])
)
)
프로그램이 끝날 때까지
max
는 the highest value held in any register during this process
를 저장해야 합니다.내 알고리즘 테스트:
해냈어!!
reduce()
, 몇 개의 switch
문 및 Math
! Reference
이 문제에 관하여(당신이 레지스터를 좋아한다고 들었어), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rmion/i-heard-you-like-registers-2g0f텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)