저는 스포츠 프로그래밍 서비스의 초보자이며 성공한 솔루션은 종종 비트 연산자를 사용한다는 것을 알았습니다.비트 연산자가 스포츠 프로그래밍에서 인기가있는 이유
다음은 예입니다.
두 개의 배열 사이에 차이점을 찾는 함수를 작성합니다 (요소 하나가 다른 것으로 간주하십시오).
솔루션은 다음과 같습니다 싶습니다
let s = x => ~eval(x.join`+`);
let findDiff = (a, b) => s(b) - s(a);
및
let findDiff = (a, b) => eval(a.concat(b).join`^`);
알고 :
- 두 예제의 설명 (비트 부분).
- 10 진수에 대해 비트 연산자를 사용하면 어떤 이점이 있습니까?
- 비트 연산보다는 정상 연산보다 빠릅니다.
업데이트 : 내 질문 ~~ vs parseInt
에 중복으로 표시되는 이유 내가 완전히 이해하지 못했다. 이 연산자가 스포츠 프로그래밍에 도움이되는 parseInt
을 대체하는 이유는 알아두면 좋습니다. 하지만 내 질문에 대답하지 않습니다.
반드시 더 빠를 필요는 없습니다. 그것들은 간결합니다 (그리고 보통 읽기는 어렵지만, 그것은 부작용입니다). 코드 골프는 비트 연산자에 초점을 맞추지 않았습니다. 코드 길이에 관한 것입니다. 이러한 유형의 질문에 대해서는 SO 대신 [관련 커뮤니티] (http://codegolf.stackexchange.com/questions/2682/tips-for-golfing-in-javascript)를 고려해보십시오. – estus
가능한 복제 [~~ 대 parseInt?] (http://stackoverflow.com/questions/10841204/vs-parseint) – estus
@estus, 내 예제에서'~~'는 어디서 볼 수 있습니까? –