[R] 반복문을 이용한 별 출력 예제 1탄 (feat. 직각삼각형, 피라미드)

해당 포스트에서는 R에서 반복문을 이용하여 다양한 모양의 별을 출력하는 방법을 소개합니다.

1. INTRO

네이버 지식iN에서 지식을 공유하고 있습니다. 간단한 질문들은 해당 질문에 바로 답변을 드리지만 질문의 내용이 유익하거나 추가 설명이 필요한 경우에는 포스팅을 작성하여 공유드리고 있습니다.

2. 질문

R studio로 반복문 사용해서 별찍기 어떻게 하는건가요...

3. 풀이

별(*)찍기 예제는 프로그래밍/알고리즘을 공부하면서 많은 분들이 접하시는 예제로 반복문 구조를 이해하는데 큰 도움이 됩니다. 아래 작성한 R로 구현한 별찍기 예제들을 보시고 학습에 도움이 되셨으면 좋겠습니다.

  1. 직각 삼각형(좌측하단)
  2. 직각 삼각형(좌측상단)
  3. 직각 삼각형(우측하단)
  4. 정삼각형(피라미드 or 트리형태)
  5. 역정삼각형
  6. 마름모(다이아몬드)
  7. 모래시계(나비리본)

1. 직각 삼각형(좌측하단)

num <- 5
for (i in 1:num){
  for (j in 1:num){
    if (i >= j ) cat("*")
  }
  cat("\n")
}
## *
## **
## ***
## ****
## *****

2. 직각 삼각형(좌측상단)

num <- 5
for (i in 1:num){
  for (j in (num-i):0){
    cat("*")
  }
  cat("\n")
}
## *****
## ****
## ***
## **
## *

3. 직각 삼각형(우측하단)

num <- 5
for (i in 1:num){
  for (j in 1:(num-i)){
    if (num-i >0) cat(" ")
  } 
  for (j in 1:i){
    cat("*")
  }
  cat("\n")
}
##      *
##     **
##    ***
##   ****
##  *****

4. 정삼각형(피라미드 or 트리형태)

num <- 5
for (i in 1:num){
  for (j in 1:(num-i)){
    if (num-i >0) cat(" ")
  } 
  for (j in 1:(i*2-1)){
    cat("*")
  }
  cat("\n")
}
##     *
##    ***
##   *****
##  *******
## *********

5. 역정삼각형

num <- 5
for (i in num:1){
  for (j in 0:(num-i)){
    cat(" ")
  }
  for (j in 1:(i*2-1)){
    cat("*")
  }
  cat("\n")
}
## *********
##  *******
##   *****
##    ***
##     *

4. 마무리

이번 포스트에서는 프로그래밍/알고리즘 학습시 많이 사용되는 별(*)모양 출력하는 방법 1탄을 소개드렸습니다.
반복문 구조 설계에 많이 도움이되는 연습이니 위 소개드린 예제들을 보시면서 다양한 아이디어들을 구현해 보시면 좋을 것 같습니다.

5. 출처

[1] [C언어/C++] 별찍기 예제 (For문 연습)
[2] [R] 반복문을 이용한 별 출력 예제 1탄 (feat. 직각삼각형, 피라미드)
[3] [R] 반복문을 이용한 별 출력 예제 2탄 (feat. 다이아몬드, 마름모, 나비, 모래시계)


banner-request-analysis