21주차 알고리즘

이동규·2023년 10월 28일

코테

목록 보기
12/22

function solution(wallpaper) {
    let left = [];
    let top = [];
    let right = []
    let bottom = [];
    wallpaper.forEach((v,i) => {
        [...v].forEach((val,ind) => {
            if(val === "#") {
                left.push(i)
                top.push(ind)
                right.push(i + 1)
                bottom.push(ind + 1)
            }
        })
    })
    return [Math.min(...left), Math.min(...top), Math.max(...right), Math.max(...bottom)]
} 

/* * 최소 직사각형 */
const quiz2 = (sizes =  [])=>{
 sizes.forEach((element,index)=>{
    
    if (element[0]>element[1]){
        
        //  foreach의 element는 값형이 아니라 참조형이다.
        let tmp = element[0];
        sizes[index][0] = element[1];
        sizes[index][1] = tmp;
    }
    
 });
  
let maxArr = new Array(sizes.length);
let minArr = new Array(sizes.length);
sizes.forEach((element,index)=>{
    maxArr[index] = element[0];
    minArr[index] = element[1];
})
let result  = Math.max(...maxArr);
let result2  = Math.max(...minArr);
 return result * result2;
}

function solution(s, n) {
    let arr = s.split('');// 공백은 ascii코드로 32이다ㅓ.
    let tmp;
    arr.forEach((element,index)=> {
        tmp = element.charCodeAt(0);

        if (element === ' ') {
            return;
        }
               
        else if(tmp >= 65 && tmp <= 90){
            tmp += n;
            tmp = tmp > 90 ? (tmp %90) +64: tmp;
            arr[index] = String.fromCharCode(tmp);       
        }

        else if(tmp >= 97 && tmp <= 122){
            tmp += n;
            tmp = tmp >= 121 ? (tmp %122) +96: tmp;
            arr[index] = String.fromCharCode(tmp);
        }
       
    }
       
    );
    
    return arr.join('');

}

 function solution(s) {
    const hash={};

    return [...s].map((v,i)=>{
        let result = hash[v] !== undefined ? i - hash[v] : -1;
        hash[v] = i;
        return result;
    });}

const  solution = (array, commands)=> {
    let  answer = [];
    commands.forEach(element => {
      let tmp = array.slice(element[0]-1,element[1]);
      tmp.sort((a,b)=>a-b);
      answer.push(tmp[element[2]-1]);
    });
    return answer;
}

0개의 댓글