0~9사이의 정수를 배열로 입력받아 전화번호 형식의 문자를 리턴하라
주의사항
string으로 리턴
for, while문 금지
배열의 길이가 8인 경우 앞에 [0,1,0]이 있다고 가정
입출력 예시
let output = createPhoneNumber([0, 1, 0, 1, 2, 3, 4, 5, 6, 7, 8]);
console.log(output); // --> '(010)1234-5678'
output = createPhoneNumber([8, 7, 6, 5, 4, 3, 2, 1]);
console.log(output); // --> '(010)8765-4321'
output = createPhoneNumber([0, 1, 1, 4, 3, 2, 1, 8, 7, 6, 5]);
console.log(output); // --> '(011)4321-8765'
function createPhoneNumber(arr) {
//8자리와 11자리를 나타낼 길이변수 선언
let length = arr.length
// 가운데 자리와 마지막 자리 변수 선언
let mid = arr.slice(length-8,length-4)
let last = arr.slice(length-4,length)
// 11자리인때 리턴
if(length===11){
return "("+ arr.slice(0,length-8).join("") +")" + mid.join("") + "-" + last.join("")
}
//나머지 경우 010붙여서 리턴
return "(010)"+ arr.slice(0,4).join("") + "-" + arr.slice(4.8).join("")
}
문자열을 입력받아 문자열을 구성하는 각 문자를 키로 갖는 객체를 리턴
각 키의 값은 해당 문자가 문자열에서 등장하는 횟수를 의미
let output = countAllCharacters('banana');
console.log(output); // --> {b: 1, a: 3, n: 2}
function countAllCharacter(str){
//빈 값을 넣어줄 빈 객체 생성 why? 빈 문자열 이면 빈 객체 반환이니까
let obj = {}
for(i=0;i<str.length; i++){
//첫 문자부터 마지막까지 반복해서 확인해야함
let key = str[i]
// key값이 obj에 키로 있으면 +1을 해주고 없으면 처음이라는 거니깐 0을 넣어줘야함
if(!(key in obj)){
obj[str[i]] = 0;
}
obj[str[i]] ++;
}
return obj;
}
문자열을 입력받아 가장 많이 반복되는 문자를 리턴
let output = mostFrequentCharacter('apples not oranges');
console.log(output); // --> 'p'
output = mostFrequentCharacter('hello world');
console.log(output); // --> 'l'
output = mostFrequentCharacter(' ');
console.log(output); // --> ''
output = mostFrequentCharacter('');
console.log(output); // --> ''
output = mostFrequentCharacter('abba');
console.log(output); // --> 'b'
빈 문자열을 제외하는 방법 ...
function mostFrequentCharacter(str){
// obj 변수 선언하고 그 안에 최대값의 횟수랑 문자 넣기
let obj= {max: 0 , char: ""}
// i는 길이만큼 반복
for(i=0;i<str.length; ++i){
// 빈 문자열이라면 continue로 지나치기 !
if(str[i]===" "){
continue;
}
// 20번과 같음
let key = str[i]
if(!(key in obj)){
obj[str[i]] = 0;
}
obj[str[i]] ++
// 기존의 max와 비교하여 크다면 넣어주고
// char같도 해당 문자로 바꿔주기
if(obj[str[i]] > obj.max){
obj.max = obj[str[i]];
obj.char = str[i];
}
}
return obj['char'];
}