단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.
s | return |
"abcde" | "c" |
"qwer" | "we" |
function solution(s){
var answer = '';
//길이가 짝수이면
if(s.length % 2 === 0)
//가운데 두 개 리턴
answer = s[s.length/2 - 1] + s[s.length/2];
//길이가 홀수면
if(s.length % 2 !== 0)
//가운데 한 개 리턴
//홀수는 제대로 나누어 떨어지지 않으니까 정수로 바꿔줘야 한다
answer = s[parseInt(s.length/2)]
return answer;
}
//run.js
const readline= require("readline");
const rl = readline.createInterface({
input : process.stdin,
output : process.stdout,
});
var input = ""
rl.on("line", (line) => {
input = line.split(' ');
rl.close();
})
rl.on('close', ()=> {
//input을 String으로 바꿔줘야지 값이 나온다
input = String(input)
solution(input)
process.exit();
})
function solution(s){
var answer = '';
if(s.length % 2 === 0)
answer = s[s.length/2 - 1] + s[s.length/2];
if(s.length % 2 !== 0)
answer = s[parseInt(s.length/2)]
console.log(answer);
return answer;
}
input으로 받아왔을 때 형변환을 제대로 해줘야지 제대로된 값이 나온다. 형변환을 해주지 않으면 배열로 인식한다.
애초에 문제가 String 형식의 단어 였기 때문에 이 부분을 주의하면 된다.
node.js로 실행시키는 게 더 성장되는 것 같다.