all is well!!

38. μ‹œμ € μ•”ν˜Έ λ³Έλ¬Έ

μ•Œκ³ λ¦¬μ¦˜(js)

38. μ‹œμ € μ•”ν˜Έ

tnqlscho 95 2023. 7. 12. 00:26

πŸ˜‡  문제

 

πŸ™  λ‹΅

닡변듀을 λ³΄λ‹ˆκΉŒ λ‚œ μ’€ λ¬΄μ‹ν•˜κ²Œ 푼것같닀..γ… γ… γ…‹γ…‹

μˆ˜ν¬μžλŠ” μ–΄μ©”μˆ˜μ—†λ‚˜λ΄..πŸ₯² 창의λ ₯ 꽝

아직도 μ™œ λ‹€λ“€ %26ν•΄μ£ΌλŠ”μ§€ μ™„λ²½ν•˜κ²Œ 이해도 λͺ»ν–ˆκ΅¬μš”~

 

처음 ν…ŒμŠ€νŠΈμ½”λ“œ 3번 λ‹€ ν†΅κ³Όλ˜κΈΈλž˜ 끝났닀..!ν–ˆλŠ”λ°

μ‹€μ œ μ±„μ ν•˜λ‹ˆ ν•œκ°œλΉΌκ³  쀄쀄이 μ‹€νŒ¨γ… γ… γ…‹γ…‹γ…‹γ…‹

 

λ¬Έμ˜ν•˜κΈ°μ—μ„œ 더 생각해야 될 뢀뢄듀을 λ°œκ²¬ν–ˆλ‹€.

1. n만큼 밀린값이 μ†Œλ¬ΈμžκΈ°μ€€ 90보닀 크고 λŒ€λ¬ΈμžκΈ°μ€€ 122보닀 크면 123-122 이 차이만큼 97에 더해쀀닀.
2. 65와 86μ‚¬μ΄μ˜ κ°’μ—μ„œ n을 λ”ν•˜λ©΄ 97이상이 될 수 μžˆλ‹€λŠ”κ±Έ κ³ λ €ν•œλ‹€.

 

μš” 기쀀듀에 λ§žλŠ” ν…ŒμŠ€νŠΈμ½”λ“œλ„ λ§Œλ“€μ–΄μ„œ ν†΅κ³Όν•˜λ‹ˆκΉŒ λ“œλ””μ–΄ 톡과됐닀..!

//1. λ¬Έμžμ—΄ s의 μ•„μŠ€ν‚€μ½”λ“œλ₯Ό κ΅¬ν•œλ‹€. v
//2. λ°€μ–΄μ•Όλ˜λŠ” 거리수치인 n만큼 μ•„μŠ€ν‚€μ½”λ“œμ—μ„œ 각각 더해쀀닀. v
//3. 각각 n만큼 더해쀀 μ•„μŠ€ν‚€μ½”λ“œλŠ” λ‹€μ‹œ μ•ŒνŒŒλ²³μœΌλ‘œ λ³€ν™˜ν•΄μ€€λ‹€. v
//4. λ§Œμ•½ z,Z라면 a의 μ•„μŠ€ν‚€μ½”λ“œλ‘œ λŒμ•„μ™€μ„œ n만큼 밀리도둝 ν•΄μ€€λ‹€. v
//5. λ§Œμ•½ " "라면 λ°”λ‘œ ascii λ³€ν™˜λ°°μ—΄μ— λ„£λŠ”λ‹€. v

// n만큼 밀린값이 μ†Œλ¬ΈμžκΈ°μ€€ 90보닀 크고 λŒ€λ¬ΈμžκΈ°μ€€ 122보닀 크면 123-122 이 차이만큼 97에 더해쀀닀. v
// 65와 86μ‚¬μ΄μ˜ κ°’μ—μ„œ n을 λ”ν•˜λ©΄ 97이상이 될 수 μžˆλ‹€λŠ”κ±Έ κ³ λ €

function solution(s, n) {
    let ascii = [];
    let answer = '';
    
    for(let i=0; i<s.length; i++){
        let code = s.charCodeAt(i);
        
        // λŒ€λ¬Έμž
        if(code <= 90){
            if(code+n > 90){
                code = (code+n - 90) + 64;
                ascii.push(code);
            }
            else if(s[i] === ' '){
                ascii.push(32);
            }
            else ascii.push(code+n);
        }
         // μ†Œλ¬Έμž
        else if(code >= 97){
            if(code+n > 122){
                code = (code+n - 122) + 96;
                ascii.push(code);
            }
            else ascii.push(code+n);
        }
    }
    
    answer += String.fromCharCode(...ascii)

    return answer;
}

 


 

🟣 ASCII (American standard code for information interchange code)

λ―Έκ΅­ ν‘œμ€€ μ •λ³΄κ΅ν™˜ μ½”λ“œλ‘œ 컴퓨터 λ‚΄λΆ€μ—μ„œ 문자λ₯Ό ν‘œν˜„ν•˜λŠ”λ° μ‚¬μš©λœλ‹€.

 

🟣 JS둜 ASCIIμ½”λ“œ λ³€ν™˜ν•˜κΈ°

1. λ¬Έμžμ—΄ -> ASCIIμ½”λ“œ λ³€ν™˜

   "λ¬Έμžμ—΄".charCodeAt([λ¬Έμžμ—΄ 자릿수]);

2. ASCIIμ½”λ“œ -> λ¬Έμžμ—΄ λ³€ν™˜

String.fromCharCode([μ•„μŠ€ν‚€μ½”λ“œκ°’]);

 

 

 

Comments