[프로그래머스] 가운데 글자 가져오기

ZZEON·2024년 1월 18일
0

문제 설명

단어 s의 가운데 글자를 반환하는 함수, solution을 만들어 보세요. 단어의 길이가 짝수라면 가운데 두글자를 반환하면 됩니다.

  • 제한사항
    s는 길이가 1 이상, 100이하인 스트링입니다.

입출력 예

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;
}

Node.js로 실행하기

//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로 실행시키는 게 더 성장되는 것 같다.

profile
프론트엔드 개발과 디자인을 좋아합니다

0개의 댓글