
어제 2557 문제를 푼 후 오늘은 나머지 새싹 출력 파트의 있는 문제들을 풀어보겠습니다.

어제 글에서 파이썬으로 문제를 해결하겠다고 한지 하루만에
앞으로는 C++로 백준을 풀기로 변경하였습니다.
또 앞으로는 visual studio code가 아닌 dev c++에서 코드를 작성하겠습니다.

순서대로 오늘날짜(10699) 부터 새싹(25083)까지 풀어보겠습니다.
지난 파이썬에서는 문자열을 출력하기 위해 단순히 print함수를 이용하여 문자열을 출력했다, c++을 조금 다릅니다.

#include <iostream>
using namespace std;
int main()
{
}
그냥 바로 print함수를 써서 풀었던 파이썬과는 다르게 c++은 코드를 입력하기 전에 기본 구조를 나타내는 코드를 작성해 준 후에 코드를 작성해야 합니다.
이것들은 입출력 헤더파일 블라블라 인데, 지금은 자세히 알고 넘어가지 않아도 괜찮기 때문에
지금은 단순히 저 구조 자체를 외워서 마치 나가기 전 옷을 입는 것처럼 자연스러운 행동(?) 코드(?)라고 외워주시면서 손에 익도록 연습하면 됩니다.
파이썬에서는 'Hello World!'를 출력하기 위해서
print("Hello World!");
라고 입력했습니다.
하지만 C++에서 텍스트를 출력하기 위한 코드는 다음과 같습니다
cout<<"Hello World!";
사실 출력을 위해선 cout 앞에 std::를 붙여서
std::cout<<"Hello World!";
로 써야 하지만 위에서 기본 구조를 작성할 때
를 두번째 줄에서 선언했기 때문에 c++에서 출력을 하기 위해선 단순히
cout<<"Hello World";
만 입력해줘도 가능합니다!
using namespace std; 와 std:: 가 무엇인지에 대해서는 본문이 길어지기 때문에 이 바로 다음강에서 설명해보도록 하겠습니다.


위에서 배운 출력문을 통해 문제를 해결해 보도록 하겠습니다.

#include <iostream>
using namespace std;
int main()
{
cout<<"2024-03-04";
}
위 코드처럼 c++의 출력문을 통해 문제를 간단히 해결하였습니다!

이번 문제에서는 첫 번째 줄에 내가 지금까지 맞춘 문제 수와
두번 째 줄에는 나의 아이디가 출력되도록 작성하면 해결할 수 있는 문제입니다.

현재 맞춘 문제 수인 숫자 2와 제 아이디를 적었습니다.

문제에서 요구하는 출력값은
(문제수)(내 아이디)
가 아니라
(문제수)
(내 아이디)
입니다.
1번 줄에 문제 수, 2번 줄에 아이디가 출력되도록 작성해야 합니다.
이렇게 텍스트 줄바꿈을 하기 위해선
\n이란 줄 바꿈을 해주는 코드로 \n 뒤에 있는 문자를 다음 줄로 줄 바꿈 시켜줍니다.
안녕하세요\n저는***입니다.
결과 :
안녕하세요
저는***입니다.
그런데 여기서 \이란 백슬래시인데, 기본적인 한글 폰트를 사용하는 경우
\ (원) 표시로 표시됩니다. 하지만 생김새는 달라도 효과는 같습니다.!!

#include <iostream>
using namespace std;
int main()
{
cout<<"2 \n";
cout<<"girookim111";
}
다음과 같은 코드로 문제를 해결하였습니다.
저는 2와 girookim111을 cout를 두번 사용해서 나타내었지만
#include <iostream>
using namespace std;
int main()
{
cout<<"2\ngirookim111";
}
다음과 같이 cout를 한 번 사용해서 문제를 해결할 수도 있습니다.

이번에는 아래와 같은 고양이를 출력하는 문제입니다.

근데 사실 고양이 같진 않습니다..

사실 이 문제는 한 가지 함정이 있는데, 위에서 배웠던 cout<<"";과
\n을 응용해서 그냥

#include <iostream>
using namespace std;
int main()
{
cout<<"\ /\" \n;
cout<<" ) ( ') \n";
cout<<"( / ) \n";
cout<<" \(__)|";
}
라고 입력한다면 실행했을 때

정상적으로 실행이 되지 않습니다!!

바로 앞서 배운 내용 중
\n ( \ = 원이랑 같은 문자)
가 있습니다. 여기서 사용되는 \ (백슬래시)는 특별한 역할을 하는 문자이기 때문에 ""큰 따옴표 안에 사용할 때에는 \\두번 사용해줘야 출력됩니다.
cout<<"백슬래시 출력하기 \"; => 결과 : 에러
cout<<"백슬래시 출력하기 \\"; => 결과 : 백슬래시 출력하기 \

#include <iostream>
using namespace std;
int main()
{
cout<<"\\ /\\\n";
cout<<" ) ( ')\n";
cout<<"( / )\n";
cout<<" \\(__)|";
}
위 코드와 같이 백슬래시 부분을 두번 사용하여 문제를 해결할 수 있습니다.
*만약 제출을 했는데, "출력 형식이 잘못되었습니다" 라는 에러가 뜰 경우 \n와 고양이 텍스트 사이 여백을 없애주세요.

이번 문제는 그림과 같은 개를 출력하는 문제입니다.
위에 고양이와 다를게 별로 없으니 빠르게 풀어보도록 해보겠습니다.

#include <iostream>
using namespace std;
int main()
{
cout<<"|\\_/|\n";
cout<<"|q p| /}\n";
cout<<"( 0 )"""\\\n";
cout<<"|"^"` |\n";
cout<<"||_/=\\\\__|";
}
다음 과 같은 코드로 실행을 해본다면

\ 출력도 두 번 붙이고 잘 한 것 같은데, 에러가 발생합니다.

"" 또한 백 슬래시와 같은 특별한 역할을 하는 문자이기 때문입니다.
cout << " " ; 라는 출력문에서
큰 따옴표 안에 들어간 텍스트를 출력하기에, 큰 따옴표도 백 슬래시와 같이 그냥 입력하면 에러가 발생합니다.
"앞에 \백슬래시 하나를 붙여주면 정상적으로 큰따옴표가 출력되는 것을 확인할 수 있습니다.

#include <iostream>
using namespace std;
int main()
{
cout<<"|\\_/|\n";
cout<<"|q p| /}\n";
cout<<"( 0 )\"\"\"\\\n";
cout<<"|\"^\"` |\n";
cout<<"||_/=\\\\__|";
}
다음과 같이 코드를 작성하여 문제를 해결하였습니다!

이번 문제도 사실 앞에 개와 고양이의 연장선인 문제이니 빠르게 해결해 보도록 하겠습니다.

#include <iostream>
using namespace std;
int main()
{
cout<<" ,r'\"7\n";
cout<<"r`-_ ,' ,/\n";
cout<<" \\. \". L_r'\n";
cout<<" `~\\/\n";
cout<<" |\n";
cout<<" |";
}
여태까지 배운 모든것들을 응용해서 쉽게 풀 수 있었습니다.
(사실 백슬래시 넣어야 되는 곳 찾느라 눈 빠질 뻔 했습니다)


이번 글에서는 이렇게 총 5개의 새싹단계 출력파트 문제들을 해결해 보았습니다.
5개의 문제들을 한 글에다 적다보니 분량이 너무 길어진 것 같아 입력과 계산 파트 부터는 한 문제 한 문제 따로따로 포스팅 해보도록 하겠습니다.
