🗃️javascript/프로그래머스

편지(Lv.0)(Spread Operator,split()접하기 상세설명x)

하얀성 2022. 12. 28. 21:11
<문제 설명>

 

머쓱이는 할머니께 생신 축하 편지를 쓰려고 합니다. 할머니가 보시기 편하도록 글자 한 자 한 자를 가로 2cm 크기로 적으려고 하며, 편지를 가로로만 적을 때, 축하 문구 message를 적기 위해 필요한 편지지의 최소 가로길이를 return 하도록 solution 함수를 완성해주세요.


제한사항
  • 공백도 하나의 문자로 취급합니다.
  • 1 ≤ message의 길이 ≤ 50
  • 편지지의 여백은 생각하지 않습니다.
  • message는 영문 알파벳 대소문자, ‘!’, ‘~’ 또는 공백으로만 이루어져 있습니다.

입출력 예messageresult
"happy birthday!" 30
"I love you~" 22

입출력 예 설명

입출력 예 #1

  • message의 글자 수가 15개로 최소 가로 30cm의 편지지가 필요합니다.

입출력 예 #2

  • message의 글자 수가 11개로 최소 가로 22cm의 편지지가 필요합니다.
  •  

<제출 답안>

function solution(message) {
    return message.split("").length *2;
}

 

-> 물어보는게 split면 좋겠지만... 구조를 어떻게 뜯어볼 수 있는지 물어보는 문제같음.

아래의 [...mesage]는 배열은 냅두고 배열의 요소 값만 불러옴 

(근데 띄어쓰기도 취급해주네? 몰랐지...ㅎㅎ)

function solution(message) {
    var answer = [...message].length * 2;
    return answer;
}

1.1 문자열의 문자들을 분리하여 배열로 변환 : Spread Operator

스프레드 연산자(Spread Operator)를 이용하여 문자열을 배열로 변환할 수 있습니다. 문자열을 구성하는 문자들이 분리되어 요소로 배열에 추가됩니다.

const str = 'hello';

const arr = [...str];

console.log(Array.isArray(arr));
console.log(arr);

Output:

true
[ 'h', 'e', 'l', 'l', 'o' ]