벡터의 마지막 n element 출력 (if, tail, for, while 불가)
조회수 638회
아무리 여러번 시도를 해봐도 원하는 아웃풋이 안나와서 질문드립니다.
back <- function(x, n){
min <- min(length(x), n)
x[-c((0:(my_length(x) - min)))]
}
back(numeric(0), n = 6)
back(seq(1, 99, by = 2), n = 6)
back(c("a", "b", "c"), n = 6)
벡터 x와 숫자 n 이 주어졌을때 if, for 이나 tail()사용 하지 않고 x의 마지막 n개 element를 리턴 할수 있는 함수 알고리즘 있을까요?
n이 length(x)보다 클 경우 x 전체를 출력하고
x가 0 vector일경우에는 numeric(0)이나 character(0)을 출력해야합니다.
저렇게 할 경우에 위에 두개의 테스팅 코드는 맞게 출력을 하는데 길이가 n보다 짧을경우에서 0벡터를 출력해서요..
저런 방식 말고 x[(length(x) - min):length(x)] 도 해봤는데 이럴경우에는 마지막 n개 가 아닌 n+1개를 출력해서요ㅜ
혹시 에러를 고치는 방법이나 다른 방법 알고계신 분 있으면 꼭 알려주세요!!
댓글 입력