ํฐ์คํ ๋ฆฌ ๋ทฐ
[๋ฌธ์ ]
https://school.programmers.co.kr/learn/courses/30/lessons/42578
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
[ํ์ด]
์คํ์ด๋ค์ด ์ท์ ์กฐํฉํ ์ ์๋ ๊ฒฝ์ฐ์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๋ง์ฝ ์ผ๊ตด์ด a,b 2๊ฐ, ์์ c 1๊ฐ๊ฐ ์๋ค๋ฉด, a, b, ab, c, ac, bc 5๊ฐ์ง๊ฐ ์์ต๋๋ค.
๊ฐ ์ท ์ข ๋ฅ๋ณ๋ก 1๊ฐ ์ด์ ์ฐฉ์ฉํ๋ ๊ฒฝ์ฐ, ์์ ์ฐฉ์ฉํ์ง ์๋ ๊ฒฝ์ฐ๋ฅผ ๊ฐ๊ฐ ๊ตฌํ๋ฉด ์ผ๊ตด 3๊ฐ, ์์ 2๊ฐ ์ด๊ณ , ์๋ฌด๊ฒ๋ ์ฐฉ์ฉํ์ง ์๋ ๊ฒฝ์ฐ๋ 1๊ฐ์ ๋๋ค.
ํ์ง๋ง, ์ต์ 1๊ฐ์ ์ท์ ์ฐฉ์ฉํด์ผ ํ๊ธฐ ๋๋ฌธ์ ์ด๋ (์ผ๊ตด ์ข ๋ฅ + 1) X (์์ ์ข ๋ฅ + 1) - 1 = 3 X 2 - 1 = 5๊ฐ ๋ฉ๋๋ค.
๋ฐ๋ผ์ ํ์ด ๊ณผ์ ์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
- answer์ ๊ณฑ์ ์ ํ์ฉํด์ผ ํ๊ธฐ ๋๋ฌธ์ 1๋ก ์ด๊ธฐํ ํฉ๋๋ค.
- (ํ์ , ๊ฐ์)๋ฅผ ํค์ ์์ผ๋ก ๊ฐ๋ Map์ ํ์ฉํด ๊ฐ๊ฐ์ ํ์ ์ ๊ฐ์๋ฅผ ๊ตฌํฉ๋๋ค.
- Map์ forEach๋ฌธ์ ํตํด ์ํํ๋ฉฐ ๊ฐ๊ฐ์ ํ์ ์ ๊ฐ์ + 1์ ๊ฐ์ answer์ ๊ณฑํด์ค๋๋ค.
- ๋ง์ง๋ง์ ์๋ฌด๊ฒ๋ ์ฐฉ์ฉํ์ง ์๋ ๊ฒฝ์ฐ 1์ answer์์ ๋นผ์ฃผ๋ฉด ์ท์ ์กฐํฉ์ ๊ตฌํ ์ ์์ต๋๋ค.
[์ฝ๋]
function solution(clothes) {
let answer = 1;
const map = new Map();
clothes.forEach((item) => {
const [name, type] = item;
map.has(type) ? map.set(type, map.get(type) + 1) : map.set(type, 1);
})
map.forEach((item) => answer *= (item + 1));
answer--;
return answer;
}
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ํฉ์น ํ์ ์๊ธ (0) | 2022.08.27 |
---|---|
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ์ ๊ตญ์ฌ์ฌ (0) | 2022.08.27 |
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ๊ฐ์ฅ ๋จผ ๋ ธ๋ (0) | 2022.08.26 |
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ํ๊ฒ ๋๋ฒ (0) | 2022.08.23 |
[JavaScript] ํ๋ก๊ทธ๋๋จธ์ค - ์ฃผ์ฐจ ์๊ธ ๊ณ์ฐ (0) | 2022.08.18 |
- Total
- Today
- Yesterday
- ํฌํฌ์ธํฐ
- ํ๋กํผํฐ
- ์นด์นด์ค ์ธํด
- ์ ์ญ ๋ณ์
- ํ๋ก๊ทธ๋๋จธ์ค
- JavaScript
- ํ๋กํ ์ฝ
- ๋ฐฑ์ค node.js
- ๊ฐ์ฒด์งํฅ ํ๋ก๊ทธ๋๋ฐ
- map
- TDD
- 2019 ์นด์นด์ค ๊ฐ๋ฐ์ ๊ฒจ์ธ ์ธํด
- git
- ์ฝ๋ฉํ ์คํธ
- ๋์์ธ ํจํด
- Baekjoon
- ๋ฐฑ์ค
- ๋ชจ๋ ์๋ฐ์คํฌ๋ฆฝํธ deep dive
- ์๋ฐ์คํฌ๋ฆฝํธ
- http
- ์ด์์ฒด์
- ๋คํธ์ํฌ
- ๋ฐฑ์ค javascript
- ๋ค์ด๋๋ฏน ํ๋ก๊ทธ๋๋ฐ
- ์๊ณ ๋ฆฌ์ฆ
- ์ด๋ถํ์
- ๋ ์์ปฌ ํ๊ฒฝ
- fp
- ์๋ฐ
- ํจ์ํ ํ๋ก๊ทธ๋๋ฐ
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |