๐Ÿ€TIL๐Ÿ€[ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค] Coding Test ์Šคํ„ฐ๋””12

PYMยท2023๋…„ 9์›” 1์ผ
0

๐Ÿ€TIL๐Ÿ€Coding Test

๋ชฉ๋ก ๋ณด๊ธฐ
10/16
post-thumbnail

Q1. JadenCase ๋ฌธ์ž์—ด ๋งŒ๋“ค๊ธฐ

JadenCase๋ž€ ๋ชจ๋“  ๋‹จ์–ด์˜ ์ฒซ ๋ฌธ์ž๊ฐ€ ๋Œ€๋ฌธ์ž์ด๊ณ , ๊ทธ ์™ธ์˜ ์•ŒํŒŒ๋ฒณ์€ ์†Œ๋ฌธ์ž์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค. ๋‹จ, ์ฒซ ๋ฌธ์ž๊ฐ€ ์•ŒํŒŒ๋ฒณ์ด ์•„๋‹ ๋•Œ์—๋Š” ์ด์–ด์ง€๋Š” ์•ŒํŒŒ๋ฒณ์€ ์†Œ๋ฌธ์ž๋กœ ์“ฐ๋ฉด ๋ฉ๋‹ˆ๋‹ค. (์ฒซ ๋ฒˆ์งธ ์ž…์ถœ๋ ฅ ์˜ˆ ์ฐธ๊ณ )
๋ฌธ์ž์—ด s๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, s๋ฅผ JadenCase๋กœ ๋ฐ”๊พผ ๋ฌธ์ž์—ด์„ ๋ฆฌํ„ดํ•˜๋Š” ํ•จ์ˆ˜, solution์„ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ ์กฐ๊ฑด

  • s๋Š” ๊ธธ์ด 1 ์ด์ƒ 200 ์ดํ•˜์ธ ๋ฌธ์ž์—ด์ž…๋‹ˆ๋‹ค.
  • s๋Š” ์•ŒํŒŒ๋ฒณ๊ณผ ์ˆซ์ž, ๊ณต๋ฐฑ๋ฌธ์ž(" ")๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ˆซ์ž๋Š” ๋‹จ์–ด์˜ ์ฒซ ๋ฌธ์ž๋กœ๋งŒ ๋‚˜์˜ต๋‹ˆ๋‹ค.
  • ์ˆซ์ž๋กœ๋งŒ ์ด๋ฃจ์–ด์ง„ ๋‹จ์–ด๋Š” ์—†์Šต๋‹ˆ๋‹ค.
  • ๊ณต๋ฐฑ๋ฌธ์ž๊ฐ€ ์—ฐ์†ํ•ด์„œ ๋‚˜์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๐Ÿฃ๋‚ด ์ฝ”๋“œ

function solution(s) {
    let spliteArr = s.split(' ');
    
    let answer = []
    
    for(let i of spliteArr){
        if(!isNaN(i[0])){
            let lowerChars = i.slice(1).toLowerCase()
            answer.push(i[0] + lowerChars)
        }
        else{
            let firstChar = i.slice(0,1).toUpperCase()
            let lowerChars = i.slice(1).toLowerCase()
            answer.push(firstChar + lowerChars)
        }
    }
    
    return answer.join(' ')
}

๐Ÿ”์ธ์ƒ ๊นŠ์—ˆ๋˜ ์ฝ”๋“œ

// 1๋ฒˆ ํ’€์ด
function solution(s) {
    return s.split(" ").map(v => v.charAt(0).toUpperCase() + v.substring(1).toLowerCase()).join(" ");
}
  • ์ž…๋ ฅ ๋ฐ›์€ ๋ฌธ์ž๋ฅผ ๊ณต๋ฐฑ ๊ธฐ์ค€์œผ๋กœ ๋Š์–ด์„œ ๋ฐฐ์—ด๋กœ ๋งŒ๋“ ๋‹ค. map์œผ๋กœ ๊ทธ ๋ฐฐ์—ด์„ ๋Œ๋ฉด์„œ charAt์„ ์‚ฌ์šฉํ•ด์„œ ๊ฐ ์š”์†Œ์˜ ์ฒซ ๊ธ€์ž๋Š” ๋Œ€๋ฌธ์ž๋กœ, substring์„ ์‚ฌ์šฉํ•ด์„œ ๊ทธ ๋’ท๋ถ€๋ถ„์€ ์†Œ๋ฌธ์ž๋กœ ๋งŒ๋“  ํ›„ join์„ ์‚ฌ์šฉํ•ด์„œ ํ•ฉ์ณ์„œ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

  • charAt์„ ์‚ฌ์šฉํ•œ ์ด์œ ๋Š” ์ œํ•œ ์กฐ๊ฑด์— "s๋Š” ์•ŒํŒŒ๋ฒณ๊ณผ ์ˆซ์ž, ๊ณต๋ฐฑ๋ฌธ์ž(" ")๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค" ๊ฐ€ ์žˆ์—ˆ๊ธฐ ๋•Œ๋ฌธ! ๊ทผ๋ฐ ์ด ํ’€์ด๋ฅผ ์ œ์ถœํ•œ ๋‹น์‹œ์—๋Š” ์•„๋งˆ ๊ณต๋ฐฑ์ด ์—ฐ์†์œผ๋กœ๋„ ์žˆ์—ˆ๋‚˜ ๋ณด๋‹ค. ๊ณต๋ฐฑ์ด ์—ฐ์†์œผ๋กœ ์žˆ๊ฒŒ ๋˜๋ฉด, v[i]๋กœ ์ ‘๊ทผํ• ๊ฒฝ์šฐ ๋นˆ ๋ฌธ์ž์—ด์ด๋ผ undefined ๊ฐ€ ๋ฐ˜ํ™˜๋˜์–ด์„œ ๋ฌธ์ œ๊ฐ€ ๋œ๋‹ค.

  • charAt๊ณผ ์ธ๋ฑ์Šค ์ ‘๊ทผ์˜ ์ฐจ์ด๋ฅผ ์œ ์˜ํ•˜์ž!

์ฐธ๊ณ  ์‚ฌ์ดํŠธ

https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/String/charAt

profile
๋ชฉํ‘œ๋Š” "ํ•จ๊ป˜ ์ผํ•˜๊ณ  ์‹ถ์€, ํ•จ๊ป˜ ์ผํ•ด์„œ ์ข‹์€" Front-end ๊ฐœ๋ฐœ์ž

0๊ฐœ์˜ ๋Œ“๊ธ€