1.문제
위의 사진처럼 강아지를 출력하시오.
https://www.acmicpc.net/problem/10172
2. 풀이
이 문제를 풀기 전에 한 가지 알아야 할 부분이 있다.
역슬래시(\), 큰따옴표("), 작은 따옴표(')는 각각 기능을 가지고 있다.
역슬래시는 줄바꿈(Enter) 기능,
큰따옴표는 문자열(문자의 조합or 단어: banana) 인식 기능,
작은 따옴표는 문자(a, b, c) 인식 기능이 있다.
각각 특정한 기능을 가지고 있어서 역슬래시, 큰따옴표, 작은 따옴표를
문자로서 출력하고자 할 땐 역슬래시 + (문자) 형태로 작성해줘야 한다.
이게 무슨 소리인가 하면
일단 잘못된 코드 예시를 통해서 보여주도록 하겠다.
# include <stdio.h>
int main(){
printf("\"); //역슬래시 출력 안됨
printf("""); //큰 따옴표 출력 안됨
printf("'"); //작은 따옴표 출력 안됨
return 0;
}
위의 코드는 잘못된 예시로 이 상태로 컴파일을 하면 오류가 뜬다.
역슬래시를 앞에 추가하지 않았기 때문이다.
위에서 역슬래시, 큰따옴표, 작은따옴표를 문자로 출력하고자 할 땐
역슬래시(\) + 문자 형태로 작성해줘야 한다고 했다. 즉
역슬래시를 출력하려면? : \\
큰따옴표를 출력하려면? : \"
작은따옴표를 출력하려면? : \'
이렇게 작성해줘야 한다.
이렇게만 보니 이해가 잘 안될 수도 있으니
아래 예시로 적은 코드를 같이 살펴보자.
# include <stdio.h>
int main(){
printf("\\"); //역슬래시 출력
printf("\""); //큰 따옴표 출력
printf("\'"); //작은 따옴표 출력
return 0;
}
역슬래시는 원화 기호로 나타나기도 하는데 별 문제없다.
아무튼 위의 코드를 작성하고 컴파일을 하면 아래 사진처럼 결과가 나온다.
차례대로 역슬래시, 큰따옴표, 작은따옴표가 출력되는 것을 확인할 수 있다.
이를 토대로 코드를 짜보자.
3. 코드
# include <stdio.h>
int main(){
printf("|\\_/|\n");
printf("|q p| /}\n");
printf("( 0 )\"\"\"\\\n");
printf("|\"^\"` |\n");
printf("||_/=\\\\__|\n");
return 0;
}
위에처럼 코드를 짜면 된다.
역슬래시 앞, 큰 따옴표 앞에 역슬래시를 붙여주기만 하면 된다.
맨 마지막 부분마다 써준 \n은 줄바꿈(Enter)를 위해 써준거다.
\n을 작성해주지 않으면 줄바꿈없이 한 줄로 길게 출력된다.
실행시키면 위의 화면이 나온다.
'IT > BaekJoon' 카테고리의 다른 글
[백준/C++] 18108번- 1998년생인 내가 태국에서는 2541년생?! (0) | 2022.07.12 |
---|---|
[백준/C++] 1008번 A/B : '절대오차'가 무슨 소리일까? (0) | 2022.07.12 |
[백준/C++] 1000번 A+B (0) | 2022.07.11 |
[백준/C++] 10171번 고양이 출력 (0) | 2022.07.11 |
[백준/C++] 10718번 We love kriii (0) | 2022.07.11 |