티스토리 뷰
이번 문제는 프로그래밍을 처음 배웠을 당시 했던 트리 그리기 문제였다.
옛날 기억이 나며 이중 for문으로 작성해보았다.
using System;
public class Example
{
public static void Main()
{
String[] s;
Console.Clear();
s = Console.ReadLine().Split(' ');
int n = Int32.Parse(s[0]);
string line = string.Empty;
for(int k = 0; k < n; k++){
for(int j = 0; j <= k; j++)
line += "*";
line += "\n";
}
Console.WriteLine(line);
}
}
상상했던 결과 값이지만 뭔가 부족해보였다.
분명 기억하지 못하는 부분에서 더 효율적이고 깔끔한 코드가 있을 것 같아서 다른 분들의 코드를 확인했다.
using System;
using System.Text;
public class Example
{
public static void Main()
{
String[] s;
Console.Clear();
s = Console.ReadLine().Split(' ');
int n = Int32.Parse(s[0]);
StringBuilder str = new StringBuilder();
for(int i = 1; i <= n; i++)
str.Append(new string('*', i)).Append('\n');
Console.WriteLine(str.ToString());
}
}
위 답안이 가장 좋아 보였는데 StringBuilder의 Append를 사용하신 답안이었다.
Append는 +연산자와 달리 새로운 메모리 할당을 하지 않아 공간적 여유도 챙기는 부분이기에 훨씬 좋은 코드라 생각했다.
'코딩테스트 > Programmers' 카테고리의 다른 글
[Programmers] 입문) 외계행성의 나이 (아스키코드) (0) | 2023.06.28 |
---|---|
[Programmers] 입문) 인덱스 바꾸기 (0) | 2023.06.27 |
[Programmers] 입문) n의 배수 고르기 (Where) (0) | 2023.06.27 |
[Programmers] 입문) 대문자와 소문자 (아스키코드) (0) | 2023.06.27 |
[Programmers] 입문) 문자열안에 문자열 (IndexOf, Contains) (0) | 2023.06.27 |