ํ‹ฐ์Šคํ† ๋ฆฌ ๋ทฐ

๋ฌธ์ œ ์„ค๋ช…

์ŠคํŒŒ์ด๋“ค์€ ๋งค์ผ ๋‹ค๋ฅธ ์˜ท์„ ์กฐํ•ฉํ•˜์—ฌ ์ž…์–ด ์ž์‹ ์„ ์œ„์žฅํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด ์ŠคํŒŒ์ด๊ฐ€ ๊ฐ€์ง„ ์˜ท์ด ์•„๋ž˜์™€ ๊ฐ™๊ณ  ์˜ค๋Š˜ ์ŠคํŒŒ์ด๊ฐ€ ๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ, ๊ธด ์ฝ”ํŠธ, ํŒŒ๋ž€์ƒ‰ ํ‹ฐ์…”์ธ ๋ฅผ ์ž…์—ˆ๋‹ค๋ฉด ๋‹ค์Œ๋‚ ์€ ์ฒญ๋ฐ”์ง€๋ฅผ ์ถ”๊ฐ€๋กœ ์ž…๊ฑฐ๋‚˜ ๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ ๋Œ€์‹  ๊ฒ€์ • ์„ ๊ธ€๋ผ์Šค๋ฅผ ์ฐฉ์šฉํ•˜๊ฑฐ๋‚˜ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ข…๋ฅ˜์ด๋ฆ„
์–ผ๊ตด๋™๊ทธ๋ž€ ์•ˆ๊ฒฝ, ๊ฒ€์ • ์„ ๊ธ€๋ผ์Šค
์ƒ์˜ํŒŒ๋ž€์ƒ‰ ํ‹ฐ์…”์ธ 
ํ•˜์˜์ฒญ๋ฐ”์ง€
๊ฒ‰์˜ท๊ธด ์ฝ”ํŠธ

์ŠคํŒŒ์ด๊ฐ€ ๊ฐ€์ง„ ์˜์ƒ๋“ค์ด ๋‹ด๊ธด 2์ฐจ์› ๋ฐฐ์—ด clothes๊ฐ€ ์ฃผ์–ด์งˆ ๋•Œ ์„œ๋กœ ๋‹ค๋ฅธ ์˜ท์˜ ์กฐํ•ฉ์˜ ์ˆ˜๋ฅผ return ํ•˜๋„๋ก solution ํ•จ์ˆ˜๋ฅผ ์ž‘์„ฑํ•ด์ฃผ์„ธ์š”.

์ œํ•œ์‚ฌํ•ญ
  • clothes์˜ ๊ฐ ํ–‰์€ [์˜์ƒ์˜ ์ด๋ฆ„, ์˜์ƒ์˜ ์ข…๋ฅ˜]๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ŠคํŒŒ์ด๊ฐ€ ๊ฐ€์ง„ ์˜์ƒ์˜ ์ˆ˜๋Š” 1๊ฐœ ์ด์ƒ 30๊ฐœ ์ดํ•˜์ž…๋‹ˆ๋‹ค.
  • ๊ฐ™์€ ์ด๋ฆ„์„ ๊ฐ€์ง„ ์˜์ƒ์€ ์กด์žฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
  • clothes์˜ ๋ชจ๋“  ์›์†Œ๋Š” ๋ฌธ์ž์—ด๋กœ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ชจ๋“  ๋ฌธ์ž์—ด์˜ ๊ธธ์ด๋Š” 1 ์ด์ƒ 20 ์ดํ•˜์ธ ์ž์—ฐ์ˆ˜์ด๊ณ  ์•ŒํŒŒ๋ฒณ ์†Œ๋ฌธ์ž ๋˜๋Š” '_' ๋กœ๋งŒ ์ด๋ฃจ์–ด์ ธ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ŠคํŒŒ์ด๋Š” ํ•˜๋ฃจ์— ์ตœ์†Œ ํ•œ ๊ฐœ์˜ ์˜์ƒ์€ ์ž…์Šต๋‹ˆ๋‹ค.
์ž…์ถœ๋ ฅ์˜ ์˜ˆ
clothesreturn
[[yellow_hat, headgear], [blue_sunglasses, eyewear], [green_turban, headgear]]5
[[crow_mask, face], [blue_sunglasses, face], [smoky_makeup, face]]3

์˜ˆ์ œ #1
headgear์— ํ•ด๋‹นํ•˜๋Š” ์˜์ƒ์ด yellow_hat, green_turban์ด๊ณ  eyewear์— ํ•ด๋‹นํ•˜๋Š” ์˜์ƒ์ด blue_sunglasses์ด๋ฏ€๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด 5๊ฐœ์˜ ์กฐํ•ฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

1. yellow_hat
2. blue_sunglasses
3. green_turban
4. yellow_hat + blue_sunglasses
5. green_turban + blue_sunglasses

์˜ˆ์ œ #2
face์— ํ•ด๋‹นํ•˜๋Š” ์˜์ƒ์ด crow_mask, blue_sunglasses, smoky_makeup์ด๋ฏ€๋กœ ์•„๋ž˜์™€ ๊ฐ™์ด 3๊ฐœ์˜ ์กฐํ•ฉ์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

1. crow_mask
2. blue_sunglasses
3. smoky_makeup




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


๋งจ ๋งˆ์ง€๋ง‰ ์˜ˆ์ œ 2๋ฒˆ์„ ๋ดค์„ ๋•Œ ๋ชจ๋‘ ๊ฐ™์€ ๋ถ€์œ„์ธ face์˜ ์˜์ƒ๋“ค์ธ๋ฐ ๊ฐ™์€ ๋ถ€์œ„๋‹ˆ๊นŒ ๋‹น์—ฐํžˆ ํ•œ ๋ฒˆ์— ํ•˜๋‚˜์”ฉ๋งŒ ์ฐฉ์šฉ์ด ๊ฐ€๋Šฅํ•  ํ„ฐ์ด๊ณ  ๊ทธ์—๋”ฐ๋ฅธ ๊ฒฝ์šฐ์˜ ์ˆ˜๋„ ๋ฌผ๋ก  3๊ฐ€์ง€ ๋ฐ–์— ์—†๊ฒ ์ฃ . ์ด๊ฑธ ์‹์œผ๋กœ ํ‘œํ˜„ํ•˜์ž๋ฉด


(๋™์ผ๋ถ€์œ„1 ์˜์ƒ ๊ฐœ์ˆ˜ + 1) * (๋™์ผ๋ถ€์œ„2 ์˜์ƒ ๊ฐœ์ˆ˜+1) *.... -1 


์˜ˆ์ œ 2์—์„œ๋Š” ๋™์ผ๋ถ€์œ„๋Š” ๋‹จ ํ•œ ๊ฐœ๋ฐ–์— ์—†์œผ๋ฏ€๋กœ (3+1)-1 = 3์ด ๋‚˜์˜ค๊ณ 


์˜ˆ์ œ 1์—์„œ๋Š” ๋™์ผ๋ถ€์œ„๊ฐ€ 2๊ฐœ๊ฐ€ ์กด์žฌ ํ•˜๋ฏ€๋กœ (2+1) * (1+1) -1 = 5 ๊ฐ€ ๋‚˜์˜ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 


๋”ํ•˜๊ธฐ 1์„ ํ•ด์ฃผ๋Š” ์ด์œ ๋Š” ์˜์ƒ์„ ์ž…๋Š” ์•ˆ ์ž…๋Š” ๊ฒฝ์šฐ๋ฅผ ๊ณ ๋ คํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด๊ณ , ๋งจ ๋งˆ์ง€๋ง‰์— -1์„ ํ•ด์ฃผ๋Š” ์ด์œ ๋Š” ์•„๋ฌด ๊ฒƒ๋„ ์•ˆ ์ž…๋Š” ๊ฒฝ์šฐ๋Š” ์กฐ๊ฑด์— ๋ถ€ํ•ฉํ•˜์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์— ํ•œ ๊ฐ€์ง€ ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋นผ์ฃผ๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ javascript ์ฝ”๋“œ๋กœ ๊ตฌํ˜„ํ•ด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค.



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function solution(clothes) {
    var answer = 1;
    var obj = {}            //์ค‘๋ณต๋˜๋Š” ์˜์ƒ์„ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด json ๊ฐ์ฒด ์‚ฌ์šฉ
    clothes.forEach(function(element){
        if(obj[element[1]]>=1)    //์ค‘๋ณต๋˜๋Š” ํ‚ค ๊ฐ’์ด ์กด์žฌํ•  ๋•Œ +1
            obj[element[1]] +=1
        else                    //์ฒ˜์Œ ๋“ฑ์žฅํ•˜๋Š” ์˜์ƒ์ผ ๋•Œ 1๋กœ ์ดˆ๊ธฐํ™”
            obj[element[1]] = 1
    })
    for(var x in obj)            //json ๊ฐ์ฒด์— ๋‹ด๊ธด ๊ฐ’์œผ๋กœ ๊ณ„์‚ฐ
        answer *= (obj[x]+1)
    return answer-1;
}
var clothes =[["crow_mask""face"], ["blue_sunglasses""face"], ["smoky_makeup""face"]]
console.log(solution(clothes))
cs


์ด์ค‘ for๋ฌธ์„ ์จ๋„ ๋˜๊ฒ ์ง€๋งŒ forEach๊ฐ€ ๊ตณ์ด ์ธ๋ฑ์Šค๋ฅผ ์ƒ๊ด€ํ•˜์ง€ ์•Š๊ณ  ์ฝ”๋”ฉํ•˜๊ธฐ๊ฐ€ ํŽธํ•ด์„œ forEach๋ฌธ์œผ๋กœ ์ž‘์„ฑํ•˜์˜€์Šต๋‹ˆ๋‹ค.

element[1] ์€ ์–ด๋Š ๋ถ€์œ„์˜ ์˜์ƒ์ธ์ง€๋ฅผ ๋‹ด๊ณ ์žˆ๋Š” ๊ฐ’ ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” "face" ๊ฐ€ ๋˜๊ฒ ์ฃ .


์—ฌ๊ธฐ์„  obj์— face๋ผ๋Š” key ๊ฐ€ ์žˆ๋‹ค๋ฉด ํ‚ค ๊ฐ’์„ +1 ์ฆ๊ฐ€์‹œํ‚ค๊ณ , ๊ทธ๋ ‡์ง€ ์•Š์œผ๋ฉด 1๋กœ ์ดˆ๊ธฐํ™” ์‹œ์ผœ์ค๋‹ˆ๋‹ค.

๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ์ตœ์ข…์ ์œผ๋กœ obj์—๋Š” ์ค‘๋ณต์ด ์—†๋Š” key ๊ฐ’๋“ค์ด ์นด์šดํŒ…๋˜๊ฒ ์ฃ 


๊ทธ๋Ÿผ ๋งˆ์ง€๋ง‰์— ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ์„ธ๋Š” ๊ณต์‹์— ์ง‘์–ด ๋„ฃ๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค. 


๋Œ“๊ธ€
๊ณต์ง€์‚ฌํ•ญ
์ตœ๊ทผ์— ์˜ฌ๋ผ์˜จ ๊ธ€
์ตœ๊ทผ์— ๋‹ฌ๋ฆฐ ๋Œ“๊ธ€
Total
Today
Yesterday
๋งํฌ
ยซ   2024/11   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
๊ธ€ ๋ณด๊ด€ํ•จ