캐또's coding

10926 - ??! - node.js 본문

기초 공부/백준 문제 풀이

10926 - ??! - node.js

JS_K_coding 2022. 8. 11. 11:12

문제

준하는 사이트에 회원가입을 하다가 joonas라는 아이디가 이미 존재하는 것을 보고 놀랐다. 준하는 놀람을 ??!로 표현한다. 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어졌을 때, 놀람을 표현하는 프로그램을 작성하시오.

입력

첫째 줄에 준하가 가입하려고 하는 사이트에 이미 존재하는 아이디가 주어진다. 아이디는 알파벳 소문자로만 이루어져 있으며, 길이는 50자를 넘지 않는다.

출력

첫째 줄에 준하의 놀람을 출력한다. 놀람은 아이디 뒤에 ??!를 붙여서 나타낸다.

예제 입력 1 복사

joonas

예제 출력 1 복사

joonas??!

예제 입력 2 복사

baekjoon

예제 출력 2 복사

baekjoon??!

출처

알고리즘 분류


문제에서 설명을 보면 조건에 따라 다르게 출력하는 건가?! 싶지만, 그냥 단순한 문자열 출력문제다.

한마디로 그냥 주어지는 값에 ??!만 더해서 출력하면 된다는 소리다.

const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim();
console.log(`${input}??!`)

우선 이전의 사칙연산 문제들과 마찬가지로 input값을 가져오도록 한다.

const fs = require('fs');

const input = fs.readFileSync('/dev/stdin').toString()

처음 문제해결을 하려 할 때 바로 세 번째 줄에 있는 것대로 출력하고자 했는데 틀렸다고 나왔다! 어째서?

구글 검색을 통해 알아본 바로는 input값을 가져올 때 .trim()을 추가했어야 했다.

trim()은 문자열의 좌우 공백을 삭제해주는 함수다.

백준에서 가져온 input값의 좌우 공백을 제거해줘야 문제에서 원하는 대로 ??!를 공백없이 이어붙일 수 있게 되어있는 듯 했다.

 

마지막으로 출력에서의 백틱 사용이 필요했는데

`` 백틱은 키보드상 숫자 1의 왼쪽에 있는 것으로, 변수와 문자열을 함께 쓰기 편하다는 장점이 있다. 백틱 안에서 변수의 사용은 ${ }이렇게 ${변수명}괄호 안에 변수 이름을 넣어주면 된다. 위 코드에서는 두 번째 줄에서 input에 할당했으므로 ${input}이 된다. 백틱의 가장 큰 장점 중 하나로 + 기호 같은 것 없이 그냥 문자를 쓰면 된다는 점이다.

console.log(`${input}??!`) 변수input에 ??!를 붙여서 출력해주세요. 라고 하면 문제 해결

Comments