[C#] 다이아몬드 알고리즘 응용예제
다이아몬드
LoopDiamond.cpp
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 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace LoopDiamond { class Program { // @Date: 2017.05.16 // @Developer: 손혁(elukasoul@gmail.com) // @Program Info: 입력받은 알파벳만큼 다이아몬드를 출력하는 알고리즘 static void Main(string[] args) { // 출력의 시작변수 int start = 'a'; int input = 0; input = Console.Read(); for (int i = start; i <= input; i++) { // 좌측 상단에 직각삼각형 공백을 만듦으로 이후 출력될 문자들을 밀어낸다. for (int j = input; j > i; j--) { Console.Write(" "); } for (int j = start; j <= i; j++) { Console.Write((char)j); } for (int j = i; j >= start; j--) { Console.Write((char)j); } Console.WriteLine(); } for (int i = input; i >= start; i--) { // 좌측 하단에 직각삼각형 공백을 만듦으로 이후 출력될 문자들을 밀어낸다. for (int j = i; j <= input; j++) { Console.Write(" "); } for (int j = start; j < i; j++) { Console.Write((char)j); } for (int j = i - 1; j >= start; j--) { Console.Write((char)j); } Console.WriteLine(); } } } } | cs |
Outout
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | h aa abba abccba abcddcba abcdeedcba abcdeffedcba abcdefggfedcba abcdefghhgfedcba abcdefggfedcba abcdeffedcba abcdeedcba abcddcba abccba abba aa 계속하려면 아무 키나 누르십시오 . . . | cs |