백준의 알고리즘 문제 고양이, 개를 풀어 보면서 배운 기호 출력법!
고양이 문제 부터 시작합니다.
첫단계로 고양이를 출력해야 합니다 .
console.log()를 활용해서 고양이를 도출해야 하는데
기호 ()는 어떻게 처리할지 막막합니다.
\ /\
) ( ')
( / )
\(__)|
우리는 백틱 사용법과 이스케이프 기호인 역슬래시만 알고 있으면 고양이와 개 문제를 쉽게 풀수 있습니다.
console.log() 에서 문자를 도출하고 싶을 경우 따옴표를 활용하는데 고양이 눈에서 부터 막힙니다. 물론 따옴표를 활용하고 역슬래시를 활용해도 고양이 문제를 해결할수 있습니다.
해결
백틱 사용
우선 고양이를 백틱으로 묶어줍니다. 백틱으로 묶게 되면 따옴표는 해결이 가능하지만 미리 작성되어 있는 백슬래시는 생략으로 인식되어 집니다.
그래서 백슬래시 앞에 백슬래시("\")를 하나 더 작성함으로 문제를 해결할수 있습니다.
console.log(\\ /\\ ) ( ') ( / ) \\(__)|
)
강아지 문제
다음은 강아지 문제입니다. 하지만 우리는 고양이 문제에서 사용한 백틱과 백슬래시를 알고있어서 두려움이 없습니다.
해결
우선 강아지를 백틱으로 묶어줍니다. 그리고 고양이에서와 마찬가지로 백슬래시("\") 앞에 백슬래시("\")를 붙여줍니다. 하지만 왜인지 통과가 되지 않습니다.
결과적으로 어디가 틀린지 알려주지 않는 백준 홈페이지에서 뭐가 문제일까 고민을 하며 코드를 살펴본 결과 도중에 강아지 턱부분에 백틱이 하나 더 숨어있습니다. 강아지를 감싸준 첫번째 백틱과 중간의 백틱이 만남으로써 백틱이 닫힌것입니다.
이럴 경우 이스케이프 기호인 백슬래시를 다시한번 사용해 중간의 백틱에 백슬래시("\")를 붙여 줍니다.
console.log(|\\_/| |q p| /} ( 0 )"""\\ |"^"\
|
||_/=\\__|`)
백틱: 큰따옴표, 작은 따옴표 등을 사용할수 있고 기호를 사용할수 있게 한다.
백슬래시("\"): 백틱을 감싸준 기호중 문제가 있는 기호에 작성함으로써 문제를 해결하고 코드가 작동되게 한다.