[Programmers | JavaScript] ๐Ÿ“ŒDay4 - ๋จธ์“ฑ์ด๋ณด๋‹ค ํ‚ค ํฐ ์‚ฌ๋žŒ, ์‚ผ๊ฐํ˜• ์™„์„ฑ์กฐ๊ฑด(1), ๋ฌธ์ž ๋ฐ˜๋ณต ์ถœ๋ ฅํ•˜๊ธฐ

Haileyยท2023๋…„ 1์›” 23์ผ
0

Algorithm | JavaScript

๋ชฉ๋ก ๋ณด๊ธฐ
7/9
post-thumbnail

๐Ÿ“ŒDay4

1๏ธโƒฃ ๋จธ์“ฑ์ด๋ณด๋‹ค ํ‚ค ํฐ ์‚ฌ๋žŒ

๋จธ์“ฑ์ด๋Š” ํ•™๊ต์—์„œ ํ‚ค ์ˆœ์œผ๋กœ ์ค„์„ ์„ค ๋•Œ ๋ช‡ ๋ฒˆ์งธ๋กœ ์„œ์•ผ ํ•˜๋Š”์ง€ ๊ถ๊ธˆํ•ด์กŒ์Šต๋‹ˆ๋‹ค. ๋จธ์“ฑ์ด๋„ค ๋ฐ˜ ์นœ๊ตฌ๋“ค์˜ ํ‚ค๊ฐ€ ๋‹ด๊ธด ์ •์ˆ˜ ๋ฐฐ์—ด array์™€ ๋จธ์“ฑ์ด์˜ ํ‚ค height๊ฐ€ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, ๋จธ์“ฑ์ด๋ณด๋‹ค ํ‚ค ํฐ ์‚ฌ๋žŒ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

1 โ‰ค array์˜ ๊ธธ์ด โ‰ค 100
1 โ‰ค height โ‰ค 200
1 โ‰ค array์˜ ์›์†Œ โ‰ค 200
array	height	result
[149, 180, 192, 170]	167	3
[180, 120, 140]	190	0
  • ๋ฐฉ๋ฒ• 1
    for๋ฌธ์„ ํ™œ์šฉํ•˜์—ฌ ๋ฐฐ์—ด์— ์ถ”๊ฐ€ํ•˜๋Š” ๋ฐฉ๋ฒ•

    function solution(array, height) {
        var answer = [];
        for(i of array){
            if(i > height){
                answer.push(i)
            }
        }
        return answer.length;
    }
  • ๋ฐฉ๋ฒ• 2
    filter์„ ํ™œ์šฉํ•˜์—ฌ ์ถ”๊ฐ€

    function solution(array, height) {
        var answer = array.filter(item => item > height);
        return answer.length;
    }

2๏ธโƒฃ ์‚ผ๊ฐํ˜•์˜ ์™„์„ฑ์กฐ๊ฑด (1)

์„ ๋ถ„ ์„ธ ๊ฐœ๋กœ ์‚ผ๊ฐํ˜•์„ ๋งŒ๋“ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์€ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๊ธด ๋ณ€์˜ ๊ธธ์ด๋Š” ๋‹ค๋ฅธ ๋‘ ๋ณ€์˜ ๊ธธ์ด์˜ ํ•ฉ๋ณด๋‹ค ์ž‘์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.
์‚ผ๊ฐํ˜•์˜ ์„ธ ๋ณ€์˜ ๊ธธ์ด๊ฐ€ ๋‹ด๊ธด ๋ฐฐ์—ด sides์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์ง‘๋‹ˆ๋‹ค. ์„ธ ๋ณ€์œผ๋กœ ์‚ผ๊ฐํ˜•์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ๋‹ค๋ฉด 1, ๋งŒ๋“ค ์ˆ˜ ์—†๋‹ค๋ฉด 2๋ฅผ returnํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด์ฃผ์„ธ์š”.

sides์˜ ์›์†Œ๋Š” ์ž์—ฐ์ˆ˜์ž…๋‹ˆ๋‹ค.
sides์˜ ๊ธธ์ด๋Š” 3์ž…๋‹ˆ๋‹ค.
1 โ‰ค sides์˜ ์›์†Œ โ‰ค 1,000
  • ๋ฐฉ๋ฒ• 1
    sides ์ค‘ ๊ฐ€์žฅ ํฐ ์ˆซ์ž๋ฅผ Math.max๋ฅผ ํ™œ์šฉํ•ด์„œ ๋ฐ›์•„์˜ค๊ณ  ๊ฐ’์„ ๋น„๊ต
    function solution(sides) {
      const max = Math.max(...sides);
      return max < sides.reduce((a, c) => a + c) - max ? 1 : 2;
    }
  • ๋ฐฉ๋ฒ• 2
    sort๋ฅผ ํ™œ์šฉํ•ด์„œ ๋ฐฐ์—ด์„ ์ •๋ ฌ ์‹œํ‚จ ํ›„ ๋น„๊ต
    function solution(sides) {
        sides = sides.sort((a,b) => a-b)
        return sides[0]+sides[1] > sides[2] ? 1 : 2;
    }

3๏ธโƒฃ ๋ฌธ์ž ๋ฐ˜๋ณต ์ถœ๋ ฅํ•˜๊ธฐ

๋ฌธ์ž์—ด my_string๊ณผ ์ •์ˆ˜ n์ด ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ์ฃผ์–ด์งˆ ๋•Œ, my_string์— ๋“ค์–ด์žˆ๋Š” ๊ฐ ๋ฌธ์ž๋ฅผ n๋งŒํผ ๋ฐ˜๋ณตํ•œ ๋ฌธ์ž์—ด์„ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์™„์„ฑํ•ด๋ณด์„ธ์š”.

2 โ‰ค my_string ๊ธธ์ด โ‰ค 5
2 โ‰ค n โ‰ค 10
"my_string"์€ ์˜์–ด ๋Œ€์†Œ๋ฌธ์ž๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ฐฉ๋ฒ• 1
    map์„ ํ™œ์šฉํ•˜๊ณ  repeat(count)๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์›ํ•˜๋Š” ๋งŒํผ ๋ฐ˜๋ณต์‹œํ‚ด

    function solution(my_string, n) {
      return [...my_string].map(char => char.repeat(n)).join('');
    }
  • ๋ฐฉ๋ฒ• 2

    function solution(my_string, n) {
        return my_string.split('').reduce((acc, cur) => acc + cur.repeat(n), '')
    }
profile
ํŒ€์—์„œ ๊ผญ ํ•„์š”ํ•œ ํ”„๋ก ํŠธ์—”๋“œ ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค.

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