격자 경로
Coddy R 여정의 논리와 흐름 섹션에 포함된 레슨. 64개 중 64번째.
챌린지
어려움count_paths(grid)를 완성하세요. grid는 0(열린 셀)과 1(벽)으로 이루어진 행렬입니다. 경로는 왼쪽 위 셀에서 시작하여 오른쪽 아래 셀에서 끝나고, 오른쪽 또는 아래쪽으로만 이동하며 벽에는 절대 들어가지 않습니다. 두 줄을 반환하세요. 첫 번째 줄은 서로 다른 경로의 수를 나타내는 Paths: 와 그 수를 포함하고, 두 번째 줄은 어떤 경로에서든 이동 횟수(모든 경로의 길이는 동일)를 나타내는 Steps: 와 그 수를 포함해야 합니다. 경로가 없으면 Steps: none을 반환하세요.
같은 크기의 ways 행렬을 만들고, 각 셀에 해당 셀까지 도달하는 경로의 수를 저장하세요. 열린 셀에는 위쪽 셀과 왼쪽 셀의 합을 저장하고, 벽에는 0을 저장합니다.
제공된 코드는 한 줄에서 격자를 읽습니다. 행은 ;로 구분되고, 행의 값은 ,로 구분됩니다. 반환된 각 줄을 출력합니다.
직접 해보기
count_paths <- function(grid) {
# 여기에 코드를 작성하세요
c("Paths: 0", "Steps: none")
}
# 제공된 입력/출력 코드: 그대로 유지하세요
input <- suppressWarnings(readLines(file("stdin")))
rows <- strsplit(input[1], ";")[[1]]
grid <- matrix(as.numeric(unlist(strsplit(rows, ","))), nrow = length(rows), byrow = TRUE)
cat(count_paths(grid), sep = "\n")
논리와 흐름의 모든 레슨
직접 연습해 보세요: 온라인 R 컴파일러