Rumah >hujung hadapan web >tutorial js >TIL: Cara Memangkas Sifar Mengekori【CodeWars】

TIL: Cara Memangkas Sifar Mengekori【CodeWars】

DDD
DDDasal
2024-12-11 07:57:10900semak imbas

TIL: How to Trim Trailing Zeros【CodeWars】

Gambaran keseluruhan ?

Tiada sifar untuk wira

Soalan ini memerlukan mengalih keluar sifar mengekor daripada nombor sambil mengekalkan integritinya.

Contoh Input dan Output:

1450 -> 145
960000 -> 96
1050 -> 105
-1050 -> -105

Tahap Kesukaran:

8kyu (tahap paling mudah pada Codewars)

Penyelesaian?

Penyelesaian 1

function noBoringZeros(n) {
  while (n % 10 === 0 && n !== 0) {
    n = n / 10
  }
  return n
}
  • Pendekatan pengaturcaraan prosedur menggunakan gelung while.

Penyelesaian 2

const noBoringZeros = n => n % 10 === 0 && n !== 0 ? noBoringZeros(n / 10) : n;
  • Pendekatan pengaturcaraan deklaratif menggunakan rekursi.

Penyelesaian 3

function noBoringZeros(n) {
  return +`${n}`.replace(/0*$/, "");
}
  • Menggunakan ungkapan biasa untuk mengalih keluar sifar mengekor.
  • Menukar nombor kepada rentetan menggunakan huruf templat (${}), menggunakan .replace(), dan menukar semula hasilnya kepada nombor menggunakan operator.

Penyelesaian 4

[][(![]+[])[+!![]]+(!![]+[])[+[]]][([]+[][(![]+[])[+!![]]+(!![]+[])[+[]]])[!![]+!![]+!![]]+(!![]+[][(![]+[])[+!![]]+(!![]+[])[+[]]])[+!![]+[+[]]]+([][[]]+[])[+!![]]+(![]+[])[!
![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[])[+!![]]+([][[]]+[])[+[]]+([]+[][(![]+[])[+!![]]+(!![]+[])[+[]]])[!![]+!![]+!![]]+(!![]+[])[+[]]+(!![]+[][(![]+[])[+!![]]+(!![]+[])[+[]]]
)[+!![]+[+[]]]+(!![]+[])[+!![]]]((!![]+[

(ini petikan)

  • Penyelesaian yang terlalu kompleks. (tetapi saya suka.)

Perbincangan dan Wawasan ?

Saya lebih suka "Penyelesaian 3" kerana ia mudah dan mesra pembaca sambil masih menunjukkan beberapa teknik yang berguna.

Jika anda ingin tahu tentang penyelesaian ini atau ingin meneroka lebih banyak cabaran, lawati di sini.

Terima kasih kerana membaca! ?

Atas ialah kandungan terperinci TIL: Cara Memangkas Sifar Mengekori【CodeWars】. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn