BaekJoon[C#]

반복문 2439

wny0320 2022. 9. 19. 09:00

백준 온라인 코딩 문제풀이

https://www.acmicpc.net/

 

Baekjoon Online Judge

Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다.

www.acmicpc.net

 

코드 참고

https://replit.com/@wny0320

 

wny0320 (박 상운)

Run code live in your browser. Write and run code in 50+ languages online with Replit, a powerful IDE, compiler, & interpreter.

replit.com

 

이번은 11021, 11022, 2438, 2439 중 일부만을 다룸


11022

using System;
using System.IO;
using System.Text;

class Program
{
    public static void Main(string[] args)
    {
        int num = int.Parse(Console.ReadLine());
        StringBuilder sb = new StringBuilder();
        for (int i = 1; i <= num; i++)
        {
            using (StringReader sr = new StringReader(Console.ReadLine()))
            {
                var text = sr.ReadLine().Split();
                int value = int.Parse(text[0]) + int.Parse(text[1]);
                sb.Append("Case #" + i + ": " + int.Parse(text[0]) + " + " + int.Parse(text[1]) + " = " + value + "\n");
            }
        }
        Console.WriteLine(sb);
    }
}

15552번 문제에서 출력 형식만 바꾼 문제로 11021번의 변화 내용도 담겨 있어 11022로 다룸

 

출력 방식이 Case #1 부터 시작이기 때문에 반복문의 매개변수 i의 시작 숫자와 조건을 바꿈

- int i = 0 에서 int i = 1, i < num에서 i <= num

 

그리고 출력 형식을 +를 통해 맞춰줌

 


2439

using System;

class Program
{
    public static void Main(string[] args)
    {
        int times = Int32.Parse(Console.ReadLine());
        for (int i = 1; i <= times; i++)
        {
            for (int j = times; j > i; j--)
            {
                Console.Write(" ");
            }
            for (int j = 0; j < i; j++)
            {
                Console.Write("*");
            }
            Console.Write("\n");
        }
    }
}

2439 역시 2438의 내용에서 발전한 것으로 왼쪽에서 별을 찍어야 했던 2438과 달리 오른쪽에 붙어찍어야 함

 

따라서 times에 5를 입력 받았을 때 5개까지의 별이 출력되어야 하며, 첫줄은 4개의 공백과 1개의 별이 출력 되어야 함

 

그렇기 때문에 j = times로 받은 횟수 times = 5에서 지금 출력하는 줄 수에 따른 공백 출력 반복문을 추가

 

times가 5라면 처음 반복문에서 i는 1이고 j는 times = 5에서 1보다 클 때 동안 작동하므로 j의 값이 5 4 3 2일 동안 작동함

 

즉 빈칸이 4번 출력되게 되며 아래 반복문에서는 j = 0으로 j가 i = 1보다 작을 동안이므로 0 에서만 작동하여 *이 한 번 출력됨

 

그리고 한줄의 출력이 끝나면 줄을 바꿔주어야 하기 때문에 Console.Write("\n")을 사용하였음

'BaekJoon[C#]' 카테고리의 다른 글

1차원 배열 2562  (0) 2022.09.23
반복문 1110  (0) 2022.09.20
반복문 15552  (0) 2022.09.18
반복문 10950  (0) 2022.09.17
조건문 2480  (0) 2022.09.16