Menu
Coddy logo textTech

벡터 정렬

Coddy R 여정의 논리와 흐름 섹션에 포함된 레슨. 64개 중 37번째.

sort(x)는 x의 값을 오름차순으로 반환하며, decreasing = TRUE는 이를 반대로 바꿉니다. 원래 벡터는 변경되지 않습니다:

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

출력:

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

텍스트는 알파벳순으로 정렬됩니다. 정확한 순서는 시스템의 언어 설정에 따라 달라집니다. Coddy에서는 많은 서버와 마찬가지로 대문자가 소문자보다 앞에 오므로 "Zed"가 "ada"보다 먼저 정렬됩니다. 대소문자가 중요하지 않아야 할 때는 tolower()로 변환하세요:

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

출력:

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

rev(x)는 정렬하지 않고 현재 순서를 뒤집으며, head(x, n)은 처음 n개의 요소를 유지합니다. 이 둘을 sort()와 함께 사용하면 상위 목록을 만들 수 있습니다:

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

출력:

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

정렬된 이름 있는 벡터는 각 이름을 해당 값과 함께 유지하므로, 이름이 값의 순서대로 나옵니다:

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

출력:

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

챌린지

쉬움

top_scores(scores, n)을 완성하세요. 가장 높은 점수부터 낮은 점수 순서로 n개의 최고 점수를 반환하고, , 로 연결하세요. 점수가 n개보다 적으면 모든 점수를 반환하세요.

제공된 코드는 점수를 쉼표로 구분된 한 줄과 n으로 읽고, 반환된 값을 출력합니다.

직접 해보기

top_scores <- function(scores, n) {
  # 여기에 코드를 작성하세요
  ""
}

# 제공된 입력/출력 코드: 그대로 유지하세요
input <- suppressWarnings(readLines(file("stdin")))
cat(top_scores(as.numeric(strsplit(input[1], ",")[[1]]), as.numeric(input[2])), sep = "\n")
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

논리와 흐름의 모든 레슨

직접 연습해 보세요: 온라인 R 컴파일러