새소식

알고리즘/문제 풀이

[C#] GuguClass 한 줄로 구현하기

  • -

우연히 GuguClass를 알게 됐다.

 

사실 드라마가 나왔을 당시에 친구가 페이스북에서 이 영상에 태그를 해줘서 본 기억은 나는데, 그때는 대충 보고 넘겼다가 이제야 GuguClass의 자세한 내막을 알게 된 것.

 

https://www.youtube.com/watch?v=UUJKiTcnGK0 

 

백문이 불여일견이라고 자세한 건 유튜브 영상을 보도록 하고,

 

GuguClass의 실행 결과를 보자면 아래와 같다.

 

GuguClass 실행 결과

 

딱 봐도 간단해 보이는 프로그램이지만 몇 가지 유의사항이 있다.

 

  1. 곱셈 결과는 총 2자로 출력되어야 한다. 만약 1자라면 2자가 되도록 앞에 Padding을 추가한다.
  2. 각 단은 탭으로 분리하며, 총 4단씩 묶어 출력한다. 묶음과 묶음 사이에는 빈 줄이 추가되어야 한다.
  3. 각 행의 끝에는 공백 문자가 삽입되지 말아야 한다.
  4. 열 줄로 짜지 말고 한 줄로 짜야 한다.

 

재밌어 보여서 C#으로 한 줄로 구현하려면 어떻게 할 수 있을까 싶어 구현해 봤다.

Enumerable.Range(2, 8).
		   Chunk(4).
		   SelectMany(chunk => Enumerable.Range(1, 9).Select(multiple => string.Join('\t', chunk.Select(num => $"{num} X {multiple} = {num * multiple,2}"))).Append(string.Empty)).
		   Prepend("< gugu>\n").
		   ToList().
		   ForEach(Console.WriteLine);

기본 문법이 아닌 LINQ를 포함해 여러 API를 활용하는 거지만 뭐 어때. 한 줄이면 됐지.

 

근데 이렇게 한 줄로 짜면 정말 열 줄로 짜는 것보다 가벼워지는 거 맞나...?

 

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

[C#] 프로그래머스 131705 - 삼총사  (1) 2023.04.17
[C++] 백준 9184 - 신나는 함수 실행  (0) 2023.01.10
[C++] 백준 1904 - 01타일  (0) 2023.01.10
[C++] 백준 1629 - 곱셈  (0) 2023.01.10
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.