> 웹 프론트엔드 > JS 튜토리얼 > TIL: 후행 0을 자르는 방법【CodeWars】

TIL: 후행 0을 자르는 방법【CodeWars】

DDD
풀어 주다: 2024-12-11 07:57:10
원래의
853명이 탐색했습니다.

TIL: How to Trim Trailing Zeros【CodeWars】

개요?

영웅에게는 0이 없습니다

이 질문에서는 숫자의 무결성을 유지하면서 뒤에 오는 0을 제거해야 합니다.

입력 및 출력 예:

1450 -> 145
960000 -> 96
1050 -> 105
-1050 -> -105
로그인 후 복사

난이도:

8규(코드워즈에서 가장 쉬운 레벨)

솔루션?

솔루션 1

function noBoringZeros(n) {
  while (n % 10 === 0 && n !== 0) {
    n = n / 10
  }
  return n
}
로그인 후 복사
  • while 루프를 사용한 절차적 프로그래밍 접근 방식

솔루션 2

const noBoringZeros = n => n % 10 === 0 && n !== 0 ? noBoringZeros(n / 10) : n;
로그인 후 복사
  • 재귀를 이용한 선언적 프로그래밍 접근 방식

솔루션 3

function noBoringZeros(n) {
  return +`${n}`.replace(/0*$/, "");
}
로그인 후 복사
  • 정규 표현식을 사용하여 후행 0을 제거합니다.
  • 템플릿 리터럴(${})을 사용하여 숫자를 문자열로 변환하고 .replace()를 적용한 후 연산자를 사용하여 결과를 숫자로 다시 변환합니다.

솔루션 4

[][(![]+[])[+!![]]+(!![]+[])[+[]]][([]+[][(![]+[])[+!![]]+(!![]+[])[+[]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+!![]]+(!![]+[])[+[]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!
![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+!![]]+(!![]+[])[+[]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+!![]]+(!![]+[])[+[]]]
)[+!![]+[+[]]]+(!![]+[])[+!![]]]((!![]+[
로그인 후 복사

(여기서 발췌)

  • 지나치게 복잡한 솔루션. (하지만 마음에 듭니다.)

토론 및 통찰력?

저는 몇 가지 유용한 기술을 보여주면서도 간단하고 독자에게 친숙한 '해결책 3'을 선호합니다.

이러한 솔루션이 궁금하거나 더 많은 과제를 탐색하고 싶다면 여기를 방문하세요.

읽어주셔서 감사합니다! ?

위 내용은 TIL: 후행 0을 자르는 방법【CodeWars】의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:dev.to
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿