πŸ“œ λͺ©μ°¨

μ•Œκ³ λ¦¬μ¦˜

비밀지도

NestJS

GCP / Cloud-Storage

Promise / Promise.all

Cloud-Function-Trigger

μ•Œκ³ λ¦¬μ¦˜

πŸ“Œ map()

Array.prototype.map() - JavaScript | MDN

πŸ“Œ reduce()

<aside> πŸ’‘ reduce()의 μ΄ˆκΈ°κ°’μ€ 0μ΄λ‚˜ μˆ«μžμ—΄ μ΄μ™Έμ˜ λ¬Έμžμ—΄, λ°°μ—΄, 객체도 κ°€λŠ₯ν•˜λ‹€! β†’ μ΄ˆκΈ°κ°’μ— λ”°λΌμ„œ reduce()κ°€ μ΅œμ’…μ μœΌλ‘œ λ°›μ•„μ˜€λŠ” νƒ€μž…μ΄ 결정될 μˆ˜λ„ 있음!

</aside>

Array.prototype.reduce() - JavaScript | MDN


πŸ’­ 비밀지도

// <https://programmers.co.kr/learn/courses/30/lessons/17681>

function solution(n, arr1, arr2) {
    const answer = []
    
    for( let i = 0 ; i < arr1.length ; i++){
        answer[i] = ""
        
        // 지도1을 2μ§„λ²•μœΌλ‘œ λ³€ν™˜ν•œ 데이터λ₯Ό μ €μž₯
        const map1 = arr1[i].toString( 2 ).padStart(n, "0")
        // 지도2λ₯Ό 2μ§„λ²•μœΌλ‘œ λ³€ν™˜ν•œ 데이터λ₯Ό μ €μž₯
        const map2 = arr2[i].toString( 2 ).padStart(n, "0")
        
        for (let j = 0; j<map1.length; j++){
            // λ‘˜ 쀑 ν•˜λ‚˜λΌλ„ 벽이기 λ•Œλ¬Έμ— μ „μ œ μ§€λ„μ—μ„œλ„ λ²½
            if (map1[j] ==="1" || map2[j] === "1"){
                answer[i] +="#"
            }
            // 두 개의 지도 λͺ¨λ‘ 곡백이라면, 전체 μ§€λ„μ—μ„œλ„ 곡백
            else if (map1[j] === "0" && map2[j] ==="0"){
                answer[i] += " "
            }
        }
    }
    return answer
}

// map()κ³Ό reduce()λ₯Ό μ‚¬μš©ν•œ 풀이
function solution(n, arr1, arr2) {
    const answer = arr1.map( (map1,i) => {
        map1 = map1.toString( 2 ).padStart(n, "0")
        const map2 = arr2[i].toString( 2 ).padStart(n,"0")
        
        const result = map1.split("").reduce( (acc,cur,i) => {
            return acc += ( cur === "1" || map2[i] === "1")
            ? "#"
            : " "
        }, "")
        return result
    })
    return answer
}

NestJS

<aside> ❓ ν…μŠ€νŠΈ 데이터 μ΄μ™Έμ˜ 데이터(특히 이미지 데이터) μ²˜λ¦¬λŠ” μ–΄λ–»κ²Œ ν•  것인가? 이미지λ₯Ό λ‹€λ₯Έ λͺ¨λ°”일 ν™˜κ²½μ—μ„œλŠ” μ–΄λ–»κ²Œ 보이게 ν•  지, μ‚¬μ΄μ¦ˆλ‚˜ ν™”μ§ˆμ€ μ–΄λ–»κ²Œ μ²˜λ¦¬ν•  것인지(μ„±λŠ₯ λ“±)

</aside>