ํฐ์คํ ๋ฆฌ ๋ทฐ
ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ฐ์ต ํด์ (์์ฅ)
๋๋์ด๋ฐ๐พ 2018. 10. 23. 20:00๋ฌธ์ ์ค๋ช
์คํ์ด๋ค์ ๋งค์ผ ๋ค๋ฅธ ์ท์ ์กฐํฉํ์ฌ ์ ์ด ์์ ์ ์์ฅํฉ๋๋ค.
์๋ฅผ ๋ค์ด ์คํ์ด๊ฐ ๊ฐ์ง ์ท์ด ์๋์ ๊ฐ๊ณ ์ค๋ ์คํ์ด๊ฐ ๋๊ทธ๋ ์๊ฒฝ, ๊ธด ์ฝํธ, ํ๋์ ํฐ์ ์ธ ๋ฅผ ์ ์๋ค๋ฉด ๋ค์๋ ์ ์ฒญ๋ฐ์ง๋ฅผ ์ถ๊ฐ๋ก ์ ๊ฑฐ๋ ๋๊ทธ๋ ์๊ฒฝ ๋์ ๊ฒ์ ์ ๊ธ๋ผ์ค๋ฅผ ์ฐฉ์ฉํ๊ฑฐ๋ ํด์ผ ํฉ๋๋ค.
์ข ๋ฅ | ์ด๋ฆ |
---|---|
์ผ๊ตด | ๋๊ทธ๋ ์๊ฒฝ, ๊ฒ์ ์ ๊ธ๋ผ์ค |
์์ | ํ๋์ ํฐ์ ์ธ |
ํ์ | ์ฒญ๋ฐ์ง |
๊ฒ์ท | ๊ธด ์ฝํธ |
์คํ์ด๊ฐ ๊ฐ์ง ์์๋ค์ด ๋ด๊ธด 2์ฐจ์ ๋ฐฐ์ด clothes๊ฐ ์ฃผ์ด์ง ๋ ์๋ก ๋ค๋ฅธ ์ท์ ์กฐํฉ์ ์๋ฅผ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- clothes์ ๊ฐ ํ์ [์์์ ์ด๋ฆ, ์์์ ์ข ๋ฅ]๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์คํ์ด๊ฐ ๊ฐ์ง ์์์ ์๋ 1๊ฐ ์ด์ 30๊ฐ ์ดํ์ ๋๋ค.
- ๊ฐ์ ์ด๋ฆ์ ๊ฐ์ง ์์์ ์กด์ฌํ์ง ์์ต๋๋ค.
- clothes์ ๋ชจ๋ ์์๋ ๋ฌธ์์ด๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ๋ชจ๋ ๋ฌธ์์ด์ ๊ธธ์ด๋ 1 ์ด์ 20 ์ดํ์ธ ์์ฐ์์ด๊ณ ์ํ๋ฒณ ์๋ฌธ์ ๋๋ '_' ๋ก๋ง ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์คํ์ด๋ ํ๋ฃจ์ ์ต์ ํ ๊ฐ์ ์์์ ์ ์ต๋๋ค.
clothes | return |
---|---|
[[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 ๊ฐ๋ค์ด ์นด์ดํ ๋๊ฒ ์ฃ
๊ทธ๋ผ ๋ง์ง๋ง์ ๊ฒฝ์ฐ์ ์๋ฅผ ์ธ๋ ๊ณต์์ ์ง์ด ๋ฃ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.
'ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค > ์คํ/ํ > ํ๋ฆฐํฐ (0) | 2019.01.07 |
---|---|
(2018๋ )KAKAO BLIND RECRUITMENT ์คํ์ฑํ ๋ฐฉ ๋ฌธ์ ํ์ด (0) | 2018.12.14 |
ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ฐ์ต > ์ ๋ ฌ > ๊ฐ์ฅ ํฐ ์ (1) | 2018.10.28 |
ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ฐ์ต > ์ ๋ ฌ > K๋ฒ์งธ ์ (0) | 2018.10.24 |
ํ๋ก๊ทธ๋๋จธ์ค ์ํฐ์ฝ๋ฉ ๋ฐ๋ชจ ๋ฌธ์ 1 (0) | 2018.10.19 |
- Total
- Today
- Yesterday
- node.js backend
- Spring
- nestjs/cli
- foreignkey
- Promise bulk
- @nestjs/config
- ๋น๋๊ธฐ ์์ฒญ
- DeferredResult
- nestjs module
- JavaScript
- android
- sequelize
- nestjs typeorm
- Request_Limit_Exceeded
- ๊ธฐ์์ฒญAPI
- ์๊ณ ๋ฆฌ์ฆ
- node.js
- nestjs directory
- NestJS
- nestjs config
- docker mysql
- nestjs project
- nestjs doc
- typeorm
- Spring Async
- typeorm ์ฐ๊ฒฐ
- ํ๋ก๊ทธ๋๋จธ์ค
- nestjs configService
- backend-framework
- Promise error
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |