본문 바로가기
코딩테스트/BOJ

BOJ 입출력 문제 3

by 의정부핵꿀밤 2020. 8. 6.
728x90

부리부리

<2439번 / 별 찍기 - 2>

확실히 예전보다는 완전 훨씬!!! 쉽고 금방 짜지만 아직도 저 띄어쓰기 개수가 헷갈린다..ㅋㅋ 그래서 일일이 컴파일해보면서 공백 개수를 세서 풀었다... 부끄럽고만///

#include <iostream>


using namespace std;
int main(void)
{
    int n = 0;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        for (int k = n - 1; k > i; k--)
        {
            cout << " ";
        }
        for (int j = 0; j <= i; j++)
        {
            cout << "*";
        }
        cout << endl;
    }
    return 0;
}

 
<2440번 / 별 찍기 - 3>

별문제 트라우마 있나..? 별찍기 문제 제목만 봐도 약간 긴장된다ㅋㅋㅋㅋ

아니 진짜 쉽게 푸는데 왜 자꾸 긴장되지ㅠㅠ 하지만 난 지지않지ㅋ

#include <iostream>


using namespace std;
int main(void)
{
    int n = 0;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        for (int j = n; j > i; j--)
        {
            cout << "*";
        }
        cout << endl;
    }
    return 0;
}

 
<2441번 / 별 찍기 - 4>

아 별찍기 언제 끝나,,,ㅋㅋㅋㅋ큐ㅠㅠㅠ

오 근데 이번엔 고민도 안하고 5초?만에 푼거같아 오~~~ 발전하고있는데~~~

#include <iostream>


using namespace std;
int main(void)
{
    int n = 0;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        for (int k = 0; k < i; k++)
        {
            cout << " ";
        }
        for (int j = n; j > i; j--)
        {
            cout << "*";
        }
        cout << endl;
    }
    return 0;
}

 
<2442번 / 별 찍기 - 5>

별찍기 이젠 놀랍지도 않네..ㅎㅎ

음 이건 좀 고민을 했다. 별이 2n-1만큼 대칭으로 찍혀야 해서 그에 맞는 조건문을 작성하는건 오래 안걸렸는데 처음에 계속 5줄이 안나오고 한줄이 공백만 출력되서 뭐지?했는데 가장 바깥 조건문의 문제였다. 가장 바깥 조건문에서 i가 0부터 시작하면 별의 조건문에서 문제가 생기는거였다. 거기서 j의 탈출조건을 i로 잡았는데 그게 i가 1부터 시작한다는 가정하에 써놨었다. 그래서 바깥 반복문의 조건을 i가 1부터 시작하고 n과 같을때까지 동작하도록 하여 해결할 수 있었다!

#include <iostream>


using namespace std;
int main(void)
{
    int n = 0;
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        for (int k = n; k > i; k--)
        {
            cout << " ";
        }
        for (int j = 1; j <= 2*i-1; j++)
        {
            cout << "*";
        }
        cout << endl;
    }
    return 0;
}

 
<2445번 / 별 찍기 - 8>

그만,,,ㅠㅅㅠ

하 이건 너무 힘들었다. 공백과 별 갯수 for문 조건 거는데서 계속 틀렸다... 하지만 결국 해냈지...!!

#include <iostream>
#include <stdio.h>
using namespace std;
int main(void)
{
    int n = 0;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        for (int j = 0; j < i+1; j++)
        {
            printf("*");
        }
        for (int k = 0; k < 2 * (n - i - 1); k++)
        {
            printf(" ");
        }
        for (int j = 0; j < i+1; j++)
        {
            printf("*");
        }
        cout << '\n';
    }
    for (int i = 1; i < n; i++)
    {
        for (int j = n; j > i; j--)
        {
            printf("*");
        }
        for (int k = 1; k <= 2 * i; k++)
        {
            printf(" ");
        }
        for (int j = n; j > i; j--)
        {
            printf("*");
        }
        cout << '\n';
    }
    return 0;
}

 
<2522번 / 별 찍기 -12>

좀 뚝딱뚝딱했더니 완성됨

#include <iostream>
#include <stdio.h>
using namespace std;
int main(void)
{
    int n = 0;
    cin >> n;
    for (int i = 0; i < n; i++)
    {
        for (int j = 1; j < n - i; j++)
        {
            printf(" ");
        }
        for (int k = 0; k <= i; k++)
        {
            printf("*");
        }
        cout << '\n';
    }
    for (int i = 0; i < n-1; i++)
    {
        for (int k = 0; k <= i; k++)
        {
            printf(" ");
        }
        for (int j = 1; j < n - i; j++)
        {
            printf("*");
        }
        cout << '\n';
    }
    return 0;
}


<2446번 / 별 찍기 - 9>

아 아이패드 사고싶다

이것도 걍 뚝딱 해버림

#include <iostream>
#include <stdio.h>
using namespace std;
int main(void)
{
    int n = 0;
    cin >> n;
    for (int i = n; i >= 1; i--)
    {
        for (int k = i; k < n; k++)
        {
            printf(" ");
        }
        for (int j = 2 * i - 1; j >= 1; j--)
        {
            printf("*");
        }
        printf("\n");
    }
    for (int i = 2; i <= n; i++)
    {
        for (int k = n; k > i; k--)
        {
            printf(" ");
        }
        for (int j = 1; j <= 2 * i - 1; j++)
        {
            printf("*");
        }
        printf("\n");
    }
    return 0;
}


<10991번 / 별 찍기 - 16>

별 뒤에 space 추가하는 꼼수가 통할까 했는데 통했다ㅋㅋㅋㅋㅋ 

#include <iostream>
#include <stdio.h>
using namespace std;
int main(void)
{
    int n = 0;
    cin >> n;
    for (int i = 1; i <= n; i++)
    {
        for (int j = n - 1; j >= i; j--)
        {
            printf(" ");
        }
        for (int k = 1; k <= i; k++)
        {
            printf("* ");
        }
        printf("\n");
    }
    return 0;
}


<10992번 / 별 찍기 - 17>

휴 힘들었다...

#include <iostream>
#include <stdio.h>
using namespace std;
int main(void)
{
    int n = 0;
    cin >> n;
    for (int i = 1; i < n; i++)
    {
        for (int j = n - 1; j >= i; j--)
        {
            printf(" ");
        }
        printf("*");
        for (int k = 2; k < 2*i-1; k++)
        {
            printf(" ");
        }
        if (i != 1)
        {
            printf("*");
        }
        printf("\n");
    }
    for (int i = 1; i <= 2*n-1; i++) //마지막줄
    {
        printf("*");
    }
    printf("\n");
    return 0;
}

입출력 문제 끝!!

728x90

'코딩테스트 > BOJ' 카테고리의 다른 글

인강듣기 싫어서 단계별로 도장깨기  (0) 2020.09.01
1차원 배열 - 3052번 / 나머지  (0) 2020.09.01
BOJ 입출력 문제 2  (0) 2020.08.05
BOJ 입출력 문제 1  (0) 2020.08.05
1단계 - 입출력과 사칙연산  (0) 2020.08.01

댓글