๐ฉ๐ปโ๐ป๋ฌธ์ ๋งํฌ
[์ธํ๋ฐ ์น์
7] ์ฅ๋๊พธ๋ฌ๊ธฐ ํ์ (Javascript)
์ ๋ฃ ๊ฐ์์ธ ๊ด๊ณ๋ก ๋ฌธ์ ์ค๋ช
์ ์๋ตํฉ๋๋ค.
โ๏ธIdea Sketch
2021-06-27
1. ์ ๋ ฌ์ด ๋์ด ์๋๋ฐ ๋ ์์ ์์น๊ฐ ๋ฐ๋์์
- ๋ฐ๋ ์์น์ ์ธ๋ฑ์ค๋ฅผ ์ถ๋ ฅ
2. sort()ํ ๋ฐฐ์ด๊ณผ ๊ทธ๋ ์ง ์์ ๋ฐฐ์ด์ ๋น๊ตํ์ฌ, ๋ค๋ฅธ ๋ถ๋ถ์ด ์์ผ๋ฉด
- ๋ฐฉ๋ฒ 1. ๋ฐฐ์ด์ pushํ ๋ค join(' ')
- ๋ฐฉ๋ฒ 2. ๋ฌธ์์ด res +=
${x}
--> ์ซ์ ๊ฐ ๊ณต๋ฐฑ์ฒ๋ฆฌํด์ผ ํจ
3. ๋ ๋ฐฐ์ด ๋น๊ต๋ forEach() map() filter()
- filter๊ฐ ์ง๊ด์ ๋ก์ง์ผ ๊ฒ
- arr์ ์ ๋ ฌํ arr๋ฅผ ๋น๊ตํ์ฌ ๋ ์์๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ return
๋ฌธ์ ์
return ํ ๊ฐ์ด arr์ ์์๊ฐ ์๋๋ผ index
4. forEach() ๋๋ map()์ ์ฌ์ฉ
- arr์ ์ ๋ ฌํ arr๋ฅผ ๋น๊ตํ์ฌ ๋ ๊ฐ์ด ๋ค๋ฅธ ๊ฒฝ์ฐ res.push()
- res์ ์์์ ๋ณด๋ฅผ ์ ์ฅํด์ผ ํ๋ฏ๋ก res.push(i+1);
- return res.join(' ');
โ๏ธ์์ค์ฝ๋
2021-06-27
function solution(arr) {
let res = [];
let sorted = arr.slice().sort((a, b) => a-b);
sorted.forEach((v, i) => {
if (v !== arr[i]) res.push(i+1);
});
return res.join(' ');
}