백준 25083번을 풀어보았다.
console.log(" ,r\'\"7")
console.log("r`-_ ,\' ,/")
console.log(" \\. \". L_r\'")
console.log(" `~\\/")
console.log(" |")
console.log(" |")
비슷한 문제로 백준 10171번, 백준 10172번이 있는데
' " \ 등의 특수문자를 문자 그 자체로 사용하고자 한다면 \' \" \\ 과 같이 앞에 \를 붙여주면 된다.
처음에는 \가 아닌 /를 사용하는 실수를 했었다.
위 풀이로 정답을 출력하긴 했지만 JavaScript에서 여러 줄의 문자열을 하나의 변수에 저장하고 출력하는 방법도 알아보았다.
const output = `
,r'"7
r\`-_ ,' ,/
\. ". L_r'
\`~\/
|
|
`;
console.log(output)
여러 줄의 문자열을 백틱으로 감싸면 하나의 변수로 저장할 수 있다.
이때 문자열 내의 백틱은 백틱 그 자체로 사용해야 하므로 백틱 부분만 \` 와 같이 수정해주면 된다.
그리고 하나 새롭게 알게 된 사실!
그동안 ' " /를 문자 그 자체로 사용하고자 하는 모든 경우에 \를 붙여왔는데
알고보니 혼동될 가능성이 있는 경우에만 \를 붙이면 되는 거였다.
예를 들어 첫번째 풀이에서는 \", 두번째 풀이에서는 \`면 충분하다.
💫 이 문제를 통해 배운 것
• 특수문자를 문자 그 자체로 사용하고자 할 경우 특수문자 앞에 /가 아닌 \를 붙여주어야 한다.
• 특수문자를 문자 그 자체로 사용하고자 하는 모든 경우에 \를 붙이는 것은 아니고, 혼동될 가능성이 있는 경우에만 붙여주면 된다.
• 여러 줄의 문자열을 백틱으로 감싸면 하나의 변수로 저장할 수 있다.