๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Coding Test

[์ฝ”๋”ฉ ํ…Œ์ŠคํŠธ] : ์‚ผ๊ฐํ˜•์˜ ์™„์„ฑ์กฐ๊ฑด JS

by ๊ถŒ์Šพํ–„ 2024. 1. 3.

 

๋ฌธ์ œ

์‚ผ๊ฐํ˜•์˜ ์™„์„ฑ์กฐ๊ฑด

 

์ œ์ถœ ์ฝ”๋“œ

function solution(sides) {
    var answer = 0;
    // ํฌ๊ธฐ ๋น„๊ต๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค.
    // ๊ฐ€์žฅ ํฐ ์š”์†Œ๊ฐ’๊ณผ ๋‚˜๋จธ์ง€ ์š”์†Œ๋ฅผ ๋”ํ•œ ๊ฐ’์„ ๋น„๊ต ํ•ด์•ผํ•˜๊ณ 
    // ๊ฐ€์žฅ ํฐ ์š”์†Œ๊ฐ’์ด ๋‚˜๋จธ์ง€๋ฅผ ๋”ํ•œ ๊ฐ’๋ณด๋‹ค ์ž‘๋‹ค๋ฉด 1 ํฌ๋‹ค๋ฉด 2๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.
    sides.sort((a, b) => a - b);
    return sides[2] < sides[0] + sides[1] ? 1 : 2;
}

 

์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌํ›„ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋กœ ํ’€์ดํ–ˆ๋‹ค.

Math์˜ max ๋ฉ”์„œ๋“œ๋ฅผ ์‚ฌ์šฉํ•˜๋‹ˆ ์˜ค๋ฅ˜๊ฐ€ ๋‚ฌ์—ˆ๋Š”๋ฐ ๊ฐ€๋งŒ ์ƒ๊ฐํ•ด๋ณด๋‹ˆ ์ธ์ž๋กœ ์ฃผ์–ด์ง€๋Š” sides๋ผ๋Š” ๋ฐฐ์—ด์•ˆ์— ์ค‘๋ณต๋˜๋Š” ์ˆ˜๊ฐ€ ์—†๋‹ค๋Š” ๊ฐ€์ •์ด ์—†์—ˆ๋‹ค.

๊ทธ ๋ถ€๋ถ„์—์„œ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์˜ค๋ฅ˜๊ฐ€ ๋ฐœ์ƒํ–ˆ๊ณ , ๊ฐ€์žฅ ํฐ ์š”์†Œ๊ฐ’์„ ์ฐพ์•„๋‚ด๊ธฐ ์œ„ํ•ด์„œ sort๋ฉ”์„œ๋“œ๋ฅผ ํ™œ์šฉํ•ด ์˜ค๋ฆ„์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ ํ›„ ๋ฌธ์ œ๋ฅผ ํ’€์ดํ–ˆ๋‹ค.

 

๋‹ค๋ฅธ ๋ถ„๋“ค์˜ ์ฝ”๋“œ

๊ฐ€์žฅ ์ธ์ƒ๊นŠ์€ ์ฝ”๋“œ๋Š” ๋‚˜์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ์ง„ํ–‰ํ–ˆ์ง€๋งŒ ๋ณด๋‹ค ๋” ๋ช…์‹œ์ ์œผ๋กœ ์ฝ”๋“œ๋ฅผ ํ™œ์šฉํ•œ ์ด ๋ถ„์˜ ์ฝ”๋“œ๊ฐ€ ๊ฐ€์žฅ ์ธ์ƒ ๊นŠ์—ˆ๋‹ค.

function solution(sides) {
    const [long, a, b] = sides.sort((a,b) => b-a);

    return long < a + b ? 1 : 2


}

๊ตฌ์กฐ๋ถ„ํ•ด ํ• ๋‹น์„ ํ†ตํ•ด์„œ ์ด ๋ถ„์€ ์˜ค๋ฆ„์ฐจ์ˆœ์ด ์•„๋‹Œ ๋‚ด๋ฆผ์ฐจ์ˆœ์œผ๋กœ ์ •๋ ฌ ์‹œ์ผฐ๊ณ  0๋ฒˆ์งธ ์ธ๋ฑ์Šค์˜ ๊ฐ’์„ long์ด๋ผ๋Š” ๋ณ€์ˆ˜์— ๋‹ด์Œ์œผ๋กœ์จ ๋ณด๋‹ค ๋ช…์‹œ์ ์œผ๋กœ ์‚ผํ•ญ์—ฐ์‚ฐ์ž๋ฅผ ์ด์šฉํ•ด ํ’€์ดํ•˜์…จ๋‹ค.