www.acmicpc.net/problem/2522

 

2522번: 별 찍기 - 12

첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.

www.acmicpc.net

문제

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요

 

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

출력

첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.

 

 

 

소스코드는 다음과 같습니다.

#include <iostream>

using namespace std;

int main()
{
    int n;
    cin >> n;

    for(int i = 1; i<=n; i++) 
    {
        for(int j = 0; j < n -i; j++)
            cout<<" ";
        for(int j =0; j < i; j++)
            cout<<"*";
        
    cout<<endl;
    }
    for(int i =1; i < n; i++) //  0 1, 2
    {
        for(int j = 0; j <i; j++ ) // j=1 ,  1 < i
            cout<<" ";
        for(int j = 0; j < n -i; j++)
            cout<<"*";

            
        cout<<endl;
    }
}

 

이거 또한 2445번의 별 찍기-8 처럼 위의 별을 먼저 풀고 다음 밑에 별을 먼저 풀면 쉽게 풀 수 있을 것 같습니다.

 

만약 이해가 되질 않는다면 직접 for문을 써서 출력해보고 이해하시길 바랍니다.(저도 아직 초보입니다.)

 

피드백 이나 더 좋은 소스코드가 있으면 대환영입니다!!!

 

 

이상 포스터를 마치겠습니다. 감사합니다.

 

www.acmicpc.net/problem/2445

 

2445번: 별 찍기 - 8

첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다.

www.acmicpc.net

문제

예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요.

 

입력

첫째 줄에 N(1 ≤ N ≤ 100)이 주어진다.

 

출력

첫째 줄부터 2xN-1번째 줄까지 차례대로 별을 출력한다.

 

다음과 같이 출력

 

#include <iostream>

using namespace std;

int main()
{
    int n;
    cin >> n;

    for(int i=0; i < n - 1; i++)
    {
        for(int j =0; j < i + 1; j++)
            cout<<"*";
        for(int j = 0; j < 2*(n-i-1); j++)
            cout<<" ";
        for(int j = 0; j < i+1; j++)
            cout<<"*";
    
        cout<<endl;
    }

    for(int x = 0; x < n; x++)
    {
        for(int y = 0;  y < n - x; y++)
            cout<<"*";
        for(int z = 0; z < x + x; z++)
            cout<<" ";
        for(int y = 0; y < n - x; y++ )
            cout<<"*";

        cout<<endl;
    }
}

 

이번 알고리즘이 어렵다면 위에서부터 차례대로 풀어보시면 될 것 같아요

즉, 별 10개있는 곳을 가운대로 짤라놓고 앞에 있는 것부터 푸는 방법이 좋을 것 같습니다.

 

이상 포스터를 마치겠습니다.

버프스위프트 다운받는 곳은 아래

https://portswigger.net/burp/download.html

 

프록시란 ?

대리, 대리인이라는 사전적 의미를 가지고 있듯, 프록시 서버를 이용하여 최종 목적지에 프록시 서버를 통해 간접적으로 접근이 가능한 것입니다.

 

버프스위프트웹 애플리케이션 테스트로 자주 사용하는 웹 프록시 툴이며 프록시를 사용하여 네트워크에서 통신하는 HTTP request를 가로채 분석 및 수정할 수 있습니다. 또한 ,POST방식인지 GET방식인지도 알 수 있으며 그 외에도 다양한 기능을 이용해 웹 애플리케이션의 취약점을 테스트를 하거나 해킹 공격을 시도할 수 있습니다ㅅ.

 

버프스위프트를 일단 실행시킵니다. Next를 눌러 빠르게 진행합니다.

 

IE(익스플로러)를 대상으로 다음과 같이 실행하겠습니다.

도구 -> 인터넷 옵션 -> 연결 ->LAN 설정

 

설명드리자면 제 로컬 주소 값 127.0.0.1 , 포트에 8080을 입력 후 확인을 누릅니다. 

 

만약 버프슈트가 활성되고 프록시 서버가 설정을 했는데도 웹서비스가 작동되면 다음과 같이 하시면 됩니다. 

윈도우키 -> 프록시 설정 변경 -> 프록시 서버 사용을 클릭해주시길 바랍니다.

 

여기서 프록시 서버의 서버 주소와 포트를 확인하고 버프슈트를 강제종료를 하게 되면 웹 서비스를 이용할 수가 없습니다. 왜냐하면 내 프록시 서버를 통해 패킷을 받겠다고 설정을 했기때문입니다. 그렇기 때문에 다시 원상태로 돌려놓고 웹 서비스를 실행하기 바랍니다. 

 

여기에서는  Proxy에 용어에 대해서만 설명드리겠습니다.

 

Forward : 현재 잡은 패킷만 인터셉트를 해제하여 전달합니다( 다음 패킷이 오면 클릭 누르면 다음 패킷을 볼 수 있습니다.)

Drop : 현재 가지고 있는 패킷을 제거하고 다음 패킷을 받습니다.

Intercept is on : ON모드에 버튼이 활성화 되면 패킷을 가져옵니다. 만약 ON모드를 해제했을 때는 인터넷을 사용할 수 있습니다. 즉, OFF모드로 해제 시 패킷을 다시 잡지 않습니다.

Action : 패킷과 관련하여 부가적인 기능을 사용할 수 있습니다. 

 

패킷을 잡아서 어떤식으로 쓰느냐에 따라 방향이 달라질 수 있습니다.

 

 

이상 포스터를 마치겠습니다. 감사합니다 .

문제

첫째 줄에는 별 N개, 둘째 줄에는 별 N-1개, ..., N번째 줄에는 별 1개를 찍는 문제

하지만, 오른쪽을 기준으로 정렬한 별(예제 참고)을 출력하시오.

 

입력

첫째 줄에 N(1 ≤ N ≤ 1)이 주어진다.

출력

첫째 줄부터 N번쨰 줄까지 차례대로 별을 출력한다.

 

 

바로 소스코드 보겠습니다.

#include <iostream>

using namespace std;

int main()
{
    int a;
    cin >> a;
    for(int i=0; i<a; i++) 
    {
        for(int j=0; j<i; j++)
        {
            cout<<" ";
        }
        for(int j=0; j<a-i; j++)
        cout<<"*";

    cout<<"\n";
    }
}

 

해설은 첫 번째 for문에서 5개를 출력합니다. 두 번째 for문에서는 j(0) < i(0) 처음 for문은 건너 뛰겠죠?

세 번째 fot문에서 j(0) <(a(5)-(0) -> 다 섯개 출력 뭐 이런식으로 해석하시면 될 것 같네요.

 

딱히 어려운 문제는 아니니 생각하시면서 풀면 될 것 같아요 그렇다고 30분 이상 고민하는 건 비추입니다.(개인적인 생각)

입출력 문제는 30분 이상 고민하지 마세요.

 

이상 포스터를 마치겠습니다.

 

오늘은 백준 알고리즘 1924번 문제인 2007년을 풀어보도록 하겠습니다.

 

www.acmicpc.net/problem/1924

 

1924번: 2007년

첫째 줄에 빈 칸을 사이에 두고 x(1≤x≤12)와 y(1≤y≤31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다.

www.acmicpc.net

문제

오늘은 2007년 1월 1일 월요일이다. 그렇다면 2007년 x월 y일은 무슨 요일일까? 이를 알아내는 프로그램을 작성하시오.

입력

첫째 줄에 빈 칸을 사이에 두고 x(1≤x≤12)와 y(1≤y≤31)이 주어진다. 참고로 2007년에는 1, 3, 5, 7, 8, 10, 12월은 31일까지, 4, 6, 9, 11월은 30일까지, 2월은 28일까지 있다.

출력

첫째 줄에 x월 y일이 무슨 요일인지에 따라 SUN, MON, TUE, WED, THU, FRI, SAT중 하나를 출력한다.

 

 

소스코드로 풀이를 보시면 될 것 같습니다. 여기서 어떻게 저런 로직이 나올까? 라는 생각을 하실 수가 있어서 count, count2라는 것을 나와서 출력을 하게끔 만들었습니다.

 

소스코드 보시겠습니다.

 

#include <iostream>
#include <string>

using namespace std;

int main() 
{
     int month[12] = {31,28,31,30,31,30,31,31,30,31,30,31}; // 달 
     string day[7] =  { "SUN", "MON", "TUE", "WED", "THU", "FRI", "SAT" }; // 문자열의 일수 
     int count1 = 0; // 총 계산값 
     int x, y;

     cin >> x >> y; // ex) 12월 25일로 가정합니다. 
    
    if (x >12 || x < 1 || y > 31 || y < 1) 
            return 0;
    
    for(int i=0; i<x; i++) // x: 12로 가정. 
    {
        if((i + 1) == x)  // 첫번째 포문은 (0 + 1 ) == 12 성립하지 않습니다. 그렇기 때문에 else로 넘어 갑니다. ----- 1 
        {
            count1 += y;  //아까 총 count2값이 :334입니다 +y해주시면 334+25 = 359입니다. -- 4
            cout<<"count : "<<count1<<endl; 
        }
        else 
        {
            count1 += month[i]; //moth[0] = 31 , month [1] = 28 :: 12까지니 31까지 더하겠죠 ? -- 2
             cout<<"count2 : "<<count1<<endl; // 총 더한 값 출력 값.  334가 됩니다. 이제 if문으로 갑니다. -- 3  

        }
    }
 
    cout<<day[count1 % 7 ] <<endl; // day[359 % 7 ] = 2이죠 : day[2] = TUE --- 5 

    return 0;


}

 

다음으로는 왜 count가 그렇게 나오는 지에 대한 출력입니다. 생각해보시면 왜 저런 답이 나왔는지 아실거에요!

여기서 count2 : else문이고 count는 if문입니다.

 

 

 

이상 포스터를 마치겠습니다.

 

제가 계속 했었을 때 시간초과가 떴었습니다. 그래서 시간초과가 왜 떴을까? 라는 고민을 하면서 구글링을 해봤는데요

밑에 보시면 답이 나와있습니다.

 

문제

자연수 N이 주어졌을 때, N부터 1까지 한 줄에 하나씩 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 100,000보다 작거나 같은 자연수 N이 주어진다.

출력

첫째 줄부터 N번째 줄 까지 차례대로 출력한다.

 

 

 

만약 소스를 다 적고 5,4,3,2,1까지 출력이 됐는데 [시간초과]라고 뜨시는 분들은 다음과 같습니다.

첫 번째로 반복문(for, while)등을 사용해서 시간이 오래 걸린다는 점이 있습니다.

두 번째로 입출력 방식에서 여러 개를 받거나 출력할 때 시간초가가 날 수도 있습니다.

세 번째로 [endl]라는 함수를 썼기 때문입니다. 그래서 [\n]로 바꿔줘야 합니다.

 

즉, 이 문제에서 문제점은 [endl]를 쓰는 것이 아니라 ["\n"]을 써야 됩니다.

 

입출력 상황이나 반복적이 많으면(cin/cout)을 사용하시면 cin.tie(NULL), cout.tie(NULL), sync_with_stdio(false)를 적용해주시길 바랍니다.

(제 그 전글을 보시면 입출력이 많은 상황에서 java는 무엇을 써야되고 C++에서는 무엇을 써야되는지 글을 기재해놨습니다.)

 

소스코드 보시겠습니다.

#include <iostream>

using namespace std;

int main()
{
    
    int a;
    cin >> a;

    for(int i=a; i>0; i--)
        cout<<i<<"\n";

}

 

 

이상 포스터를 마치겠습니다. 감사합니다.

애드센스 상단, 하단 광고를 안 넣으신 분들은 먼저 넣어주시길 바랍니다. 밑에 글 참조해주세요.

best-mother-seonnyeo.tistory.com/90

 

티스토리 애드센스 상단 하단 광고넣기

안녕하세요 오늘은 티스토리 애드센스 상단 하단 광고넣는 법에 대해서 설명드리겠습니다. 일단 애드센스를 들어갑니다. 다음과 같이 "코드 가져오기"라는 것을 클릭을 합니다. 그런다음에 코��

best-mother-seonnyeo.tistory.com

그리고 상단, 하단과 비슷하게 사이드 광고를 넣어주시면 됩니다. 그래서 [광고만들기]는 생략을 하고 중요한 부분만 짚고 넘어 가겠습니다. 

그 전 글에서 광고 만들기 반응형으로 만드시고 코드를 복사한 것 까지만 따라해주시면 됩니다.

 

그런 다음에 티스토리(본계정)에 들어가셔서 [플러그인] - [배너 검색 후] - 배너를 클릭해주세요.

배너 출력을 클릭한 다음 [적용]을 눌러주세요.

 

 

이건 나중에 사진을 추가해서 따로 넣겠습니다. 말로만 설명드리겠습니다.

[꾸미기] - [사이드바]에 들어가시면 [플러그인]- HTML 배너출력이 보이실 겁니다.

 

거기서 [편집]을 클릭해 광고 소스 코드를 복사해놨던 것을 붙여넣기 하시면 됩니다. 그런 다음에 확인을 눌르시면 끝.

 

이상 포스터를 마치겠습니다. 감사합니다.

 

안녕하세요 오늘은 티스토리 애드센스 상단 하단 광고넣는 법에 대해서 설명드리겠습니다.

 

일단 애드센스를 들어갑니다.

다음과 같이 "코드 가져오기"라는 것을 클릭을 합니다.

 

 

그런다음에 코드 복사를 눌릅니다.

 

 

그런다음에 제 티스토리(본 계정)에 들어가서 [스킨편집] - [HTML] -> <head> 이 사이에 코드 복사한 것을 넣습니다 </head>

 

 

그리고 적용을 눌러줍니다.

 

그리고 다시 애드센스페이지로 돌아온다음 

[개요] - [광고 단위 기준] - 디스플레이 광고를 클릭해줍니다.

 

눌러서 [사각형] [수평형], [수직형] 있습니다. 원하시는 거 체크해주시길 바랍니다. 저는 수평형으로 하겠습니다.

[광고이름]은 [상단수평형]으로 지정하겠습니다.

 

 

이제 [코드 복사]를 눌러줍니다. 제 회색부분은 광고코드라서 지웠습니다

 

 

 

이제 티스토리에 다시 들어가주세요. 그리고 [플러그인] - 구글 애드센스(반응형)을 클릭해줍니다.

 

들어가주셔서 이제 [아까 복사했던 코드]를 붙여주면 됩니다.

처음에 [상단 광고]를 만들었구요 이제 하단 광고도 넣을 차례인데 하단광고는 다시 위에 가셔서 만들었던 것처럼 만드시면 됩니다.

 

하단광고도 다시 위에 처럼 만들어서 넣어주시길 바랍니다.  그런 다음에 적용을 눌러주시면 됩니다.

 

 

이상 포스터를 마치겠습니다. 만약 어려운 점이 있거나 도움이 필요하신 분은 댓글 달아주시면 빠르게 답변드리겠습니다.

 

광고가 기재되는 데에는 시간이 오래걸릴 수도 있으니 참조하시길 바랍니다.

 

다음 글에는 사이드바 광고 넣기에 대해 포스터를 올리도록 하겠습니다.

 

하트 눌러주시면 감사합니다~

 

 

+ Recent posts