알고리즘 공부/CodeUp 문제풀이
코드업 1382:GuguClass(C)
티들
2023. 9. 17. 23:04
문제설명
모 드라마의 한 장면에서 어떤 남자가 신의 속도로 코딩을 하면서,
"1줄로 짤 코드를 누가 10줄로 만들어 놓았어요?"
라고 말하는 장면이 프로그래머들 사이에서 주목을 받게 되었다.
다시 보기로 분석한 결과 이 남성이 작성한 코드는 구구단 중 2~5단을 예쁘게 출력하는 클래스인 것으로 확인되었다.
일명 GuguClass !!
이 남자가 작성한 코드의 실행 결과는 다음과 같다.
이 GuguClass와 동일한 결과를 나타내는 프로그램을 작성하시오.
만약 출력문으로만 작성하거나, 코드가 길면 이 남자가 가만히 있을 것 같지 않다!
입력 예시
입력은 없다.
출력 예시
구구단의 2~5단을 문제 설명에서 보여준 출력 양식대로 출력한다.
표현 오류가 날 가능성이 높으므로 다음 조건들을 잘 확인하여 작성한다.
1. 연산자와 피연산자 사이에는 공백이 한칸 존재한다. 곱셈 기호는 소문자 x이다.
2. 곱셈의 결과는 두 칸으로 봤을 때 우측 정렬하여 출력한다. (%2d)
3. 단과 단 사이에는 탭(\t)으로 분리한다. 한칸 아님.
4. 각 행의 마지막인 5단의 곱셈 결과를 출력한 후 공백없이 바로 줄을 바꾼다(\n).
내 코드
#include <stdio.h>
int main()
{
int i, j; // for문 변수 선언
for(i=1;i<=9;i++) // 세로 반복
{
for(j=2;j<=5;j++) // 가로 반복
{
printf("%d x %d = %2d", j, i, j*i); // 출력문
if(j!=5) printf("\t"); // 탭인지 줄바꿈인지 확인
else printf("\n");
}
}
return 0;
}
모범 답안
#include <stdio.h>
int main()
{
int i, j;
for(i = 1; i <= 9; i++)
{
for(j = 2; j <= 5; j++)
{
printf("%d x %d = %2d", j, i, j*i);
if (j != 5) printf("\t");
else puts("");
}
}
return 0;
}