Karakter yang terisolasi adalah karakter (selain baris baru) yang tidak memiliki karakter yang berdekatan dengan tipe yang sama. Karakter yang berdekatan dapat ke kiri, kanan di atas atau di bawah, tetapi tidak diagonal. Misalnya dalam teks berikut H
ini diisolasi:
Ybb
YH%
%%%%
Semua karakter lain tidak terisolasi karena masing-masing memiliki setidaknya satu karakter lain yang bertipe sama.
Tugas Anda adalah menulis program yang mengambil string sebagai input dan menentukan jumlah karakter yang terisolasi.
Mencetak gol
Jawaban Anda akan dicetak oleh dua metrik. Yang pertama adalah jumlah karakter yang terisolasi dalam program Anda. Anda harus berusaha meminimalkan ini. Yang kedua adalah jumlah byte dalam program Anda. Anda harus meminimalkan ini juga. Ukuran program akan bertindak sebagai pemutus dasi untuk kriteria pertama.
Aturan tambahan
Anda harus mendukung input pada rentang ascii yang dapat dicetak ditambah karakter apa pun yang Anda gunakan dalam program Anda.
Anda dapat mempertimbangkan jeda baris untuk menjadi karakter baris baru atau baris baru diikuti oleh umpan baris.
Anda dapat mengambil input dalam format apa pun yang masuk akal. Ini termasuk daftar garis.
Uji Kasus
Ybb
YH%
%%%%
Aaaab
uuu
yyybbb
A
qqWWaaww
sumber
Y
di bawahnya.restricted-source
tantangan dan tidak mengizinkan karakter yang terisolasi sama sekali.Jawaban:
Python 2 , 0 (
350344314309301298291 byte)Cobalah online!
-7 byte, terima kasih kepada Jo King
sumber
Bersih , 0 (
439... 415 byte)-11 Terima kasih kepada Ørjan Johansen
Akhirnya sebuah tantangan di mana saya bisa mencetak 0 dengan Bersih!
(dan biasanya buruk pada tantangan tata letak sumber!)
Cobalah online!
TIO menggunakan tautan
module main
karena cara Clean diterapkan pada TIO, tetapimodule d
akan berfungsi jika Anda memberi nama filed.icl
alih-alihmain.icl
seperti TIO.Salah satu baris lama menjelaskan (versi baru adalah hal yang sama dalam urutan berbeda):
sumber
let
menghemat 11 byte.d
berguna yang berdekatanJavaScript (ES6), 0 (154 byte)
Disimpan
24 byte berkat @ ØrjanJohansenMengambil input sebagai array string.
Cobalah online!
sumber
Jelly , 0 (
41 2725 byte)Cobalah online!
Mengambil input sebagai daftar baris. Baris pertama dalam kode tidak pernah melakukan apa-apa dan hanya ada untuk meminimalkan karakter yang terisolasi.
sumber
MATL , 0 (54 byte)
Input adalah array sel string, satu untuk setiap baris:
{'line 1', 'line 2', 'and line 3'}
.Cobalah online! Atau verifikasi kasus uji dan kode sumber .
sumber
Python 3 , 0 (323 bytes)
Cobalah online!
sumber
05AB1E , 0 (101 byte )
Cobalah online.
Ini adalah salah satu program 05AB1E paling jelek dan terpanjang yang pernah saya tulis ..>.> Tantangan ini sangat sulit di 05AB1E. Saya tidak ragu dalam pikiran byte-count setidaknya dapat dibelah dua atau bahkan tiga / empat kali lebih kecil dengan menggunakan pendekatan yang berbeda (atau bahkan dengan pendekatan yang sama), tetapi saya saat ini tidak melihat caranya. Saya hanya senang itu berfungsi sekarang .. Jika orang lain memposting jawaban 05AB1E jauh lebih pendek dengan beberapa trik pintar saya mungkin akan menghapus jawaban ini karena malu ... xD
Penjelasan:
sumber
Ruby , skor 0,
237209 byteCobalah online!
sumber
JavaScript (Node.js) , 0 (279 byte)
Cobalah online!
Terima input sebagai larik baris.
sumber