×
Crocus
공부한 내용을 정리하는 블로그로 시작한
Crocus는 2014년 1월 14일 부터 시작하여
현재 월 6만명, 총 2,394,384명의 방문자 수를 기록하고 있습니다.
Donation
이제 많은 사용자들이 이용하는 만큼
더 다양한 서비스 개발/제공을 위해 후원금을 모금하고자 합니다.
후원을 해주시는 분들은 Donators 명단에 성명, 후원금을 기입해드리며
Crocus 블로그가 아닌 다른 곳에 정리해둔 저만의 내용을 공유해 드리고자 합니다.
Account
예금주 : 고관우
신한은행 : 110-334-866541
카카오뱅크 : 3333-01-7888060

👉 후원 페이지 바로가기 Donators
익명 : 5000원(Crocus응원합니다.)
busyhuman: 5000원(유용한 지식 감사합니다.)
익명 : 5000원(알고리즘 학습러)
반응형

첫째줄 부터 2n-1 줄까지 별을 찍는 프로그램을 작성하라.


ex ) n = 5일때


*********

 ******* 

  *****  

   ***   

    *    

   ***   

  *****  

 ******* 

*********


일반적으로 별찍기 문제는 쉽다고 생각 할 수도 있으나, 이 문제도 얼마나 알고리즘을 최적화 하냐에 따라서


코딩의 질이 달라 질 수 있을 것 같다. 별찍기 문제는 꼭 한번은 짚고 넘어가 볼 만한 문제인 것 같다.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#include <stdio.h>
 
int main()
{
 int i,j,n;
 
 scanf("%d",&n);
 
 for(i = 1; i <= n-1 ; i ++// 상단
 { 
  for(j = 1; j <= i-1; j++printf(" "); 
  for(j = 1; j <= 2*(n-i)+1 ; j++printf("*"); 
 
  //for(j = 1; j <= 2*i -2 ; j++) printf(" ");    
  // 끝에는 띄어쓰기 불필요(여기서는) 
 
  printf("\n"); 
 }
 
 for(i = 1; i <= n-1 ; i ++printf(" "); // 중단
 
 printf("*"); 
  //for(i = 1; i <= n -1 ; i++) printf(" ");  
  // 끝에는 띄어쓰기 불필요(여기서는)  
 
 printf("\n"); 
 
 for(i = 1; i <= n-1; i++// 하단
 {
  for(j = 1; j<= n-i-1; j++printf(" "); 
  for(j = 1; j <= 2*i+1; j++printf("*"); 
 
  //for(j = 1; j <=n-i-1 ; j++)
  //{ printf(" "); }
  printf("\n");
 } 
 
 return 0;
Crocus


숏코딩 - 

( 이런 것이 있다는 것만 알아두기 )



1
2
3
4
5
6
7
i;
main(j,n)
{
 for(scanf("%d",&n); 2*n-++i;  puts(""))
 for(j=0;n+abs(n-i)-j++;)
 putchar(j>n-1-abs(n-i)?42:32);
}
Crocus


반응형

'Applied > 알고리즘 문제풀이' 카테고리의 다른 글

특수 알고리즘 해결문서  (0) 2015.12.06
1~n까지의 합  (2) 2015.12.01
더하기 사이클  (0) 2015.12.01
별 찍기  (0) 2015.11.26
발산하는 점의 개수 알고리즘  (0) 2015.11.24
달팽이 수열  (0) 2015.11.24