Menu
CoddyTech

Mengurutkan Vektor

Termasuk bagian Logika dan Alur dalam perjalanan R di Coddy. Pelajaran 37 dari 64.

sort(x) mengembalikan nilai x dalam urutan menaik, dan decreasing = TRUE membalik urutannya. Vector asli tidak berubah:

scores <- c(72, 95, 60, 88)
print(sort(scores))
print(sort(scores, decreasing = TRUE))
print(scores)

Output:

[1] 60 72 88 95
[1] 95 88 72 60
[1] 72 95 60 88

Teks diurutkan berdasarkan abjad. Urutan pastinya bergantung pada pengaturan bahasa sistem: di Coddy, seperti di banyak server, huruf kapital berada sebelum huruf kecil, jadi "Zed" diurutkan sebelum "ada". Gunakan tolower() untuk mengubahnya jika kapitalisasi tidak perlu diperhitungkan:

names <- c("cy", "Zed", "ada")
print(sort(names))
print(sort(tolower(names)))

Output:

[1] "Zed" "ada" "cy" 
[1] "ada" "cy"  "zed"

rev(x) membalik urutan saat ini tanpa mengurutkan, dan head(x, n) mempertahankan n elemen pertama. Jika digabungkan dengan sort(), fungsi ini menghasilkan daftar teratas:

scores <- c(72, 95, 60, 88)
print(rev(scores))
print(head(sort(scores, decreasing = TRUE), 2))

Output:

[1] 88 60 95 72
[1] 95 88

Vektor bernama yang diurutkan mempertahankan setiap nama bersama nilainya, sehingga nama-nama muncul sesuai urutan nilainya:

stock <- c(tea = 12, jam = 3, oil = 7)
low_first <- sort(stock)
print(names(low_first))
print(low_first[["jam"]])

Output:

[1] "jam" "oil" "tea"
[1] 3
challenge icon

Tantangan

Mudah

Lengkapi top_scores(scores, n). Kembalikan n skor tertinggi dari yang terbesar ke yang terkecil, digabungkan dengan , . Jika jumlah skor kurang dari n, kembalikan semuanya.

Code yang disediakan membaca skor sebagai baris yang dipisahkan koma dan n, lalu mencetak nilai yang dikembalikan.

Coba sendiri

top_scores <- function(scores, n) {
  # Tulis kodemu di sini
  ""
}

# Kode input/output yang disediakan: biarkan apa adanya
input <- suppressWarnings(readLines(file("stdin")))
cat(top_scores(as.numeric(strsplit(input[1], ",")[[1]]), as.numeric(input[2])), sep = "\n")
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Logika dan Alur

Latihan sendiri: Compiler R online