반응형
문제 출처
PLU 2014 - Novice 2번
backjoon 10171번 문제
0. 문제
ⅰ. 아래 예제와 같이 (고양이를) 출력하시오.
■ 웹 환경에서도 그러하듯이 \(=\), 즉 역슬래시를 화면상에 표현하는게 문제의 핵심이다.
■ 이미지가 아닌 문자로 표시하면 대애충 아래와 같다.
\ /\
) ( ')
( / )
\(__)|
■ 티스토리의 기본 폰트는 역슬래시를 '\'로 표현하는 문제가 있다.
1. 코드
ⅰ. puts를 이용한 방법
#include <iostream>
int main()
{
puts("\\ /\\");
puts(" ) ( ')");
puts("( / )");
puts(" \\(__)|");
return 0;
}
■ 이 코드는 가독성에 가장 중점을 둔 코드이다.
■ 같은 puts함수를 이용하더라도 아래와 같이 한줄로 적을 수도 있다.
#include <stdio.h>
int main()
{
puts("\\ /\\\n ) ( ')\n( / )\n \\(__)|");
return 0;
}
2. 알아야 하는 것.
ⅰ. 이스케이프 시퀀스 (escape sequence)
■ C언어에서 이스케이프 시퀀스는 프로그래밍 언어의 특성상 하나의 문자로 표현하기 힘든 문자를 나타낸다.
■ 예를 들어 큰따옴표 하나를 화면상에 나타내기 위해서 """라고 쓴다면 문법 오류가 날 가능성이 높다.
■ C 및 C++에서 문자열은 "로 시작해서 "로 끝나는 것이기 때문이다.
■ 즉, """라고 쓴다면 두번째 "에서 문자열은 끝나버릴 것이고, 세번째 "다시 문자열을 시작하게 될 것이다.
■ 그렇기 때문에 "는 C언어 상에서 일반적인 방법으로는 하나의 문자로 나타내기 힘든 문자가 된다.
■ C, C++의 이스케이프 시퀀스는 모두 \(역슬래시)로 시작한다.
반응형