
๐ 2024๋ 5์ 22์ผ
ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋์นดํ 24๋ฒ๋ฌธ์ - ์์ธ์์ ๊น์๋ฐฉ ์ฐพ๊ธฐ
https://school.programmers.co.kr/learn/courses/30/lessons/12919
โ ๋ฌธ์ ์ค๋ช
Stringํ ๋ฐฐ์ด seoul์ element์ค "Kim"์ ์์น x๋ฅผ ์ฐพ์, "๊น์๋ฐฉ์ x์ ์๋ค"๋ String์ ๋ฐํํ๋ ํจ์, solution์ ์์ฑํ์ธ์. seoul์ "Kim"์ ์ค์ง ํ ๋ฒ๋ง ๋ํ๋๋ฉฐ ์๋ชป๋ ๊ฐ์ด ์ ๋ ฅ๋๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค.
- ์ ํ์ฌํญ
seoul์ ๊ธธ์ด 1 ์ด์, 1000 ์ดํ์ธ ๋ฐฐ์ด์ ๋๋ค.
seoul์ ์์๋ ๊ธธ์ด 1 ์ด์, 20 ์ดํ์ธ ๋ฌธ์์ด์ ๋๋ค.
"Kim"์ ๋ฐ๋์ seoul ์์ ํฌํจ๋์ด ์์ต๋๋ค.
- ์ ์ถ๋ ฅ ์ 1
["Jane", "Kim"] "๊น์๋ฐฉ์ 1์ ์๋ค"
โ ๋ฌธ์ ํ์ด
- ์ฒ์ ์๋ํ ์ฝ๋
์ผ๋จ ์ด๊ฒ ๋ฌด์จ ์๋ฆฐ์ง ์ดํด๊ฐ ์๋์ ๊ตฌ๊ธ๋ง์ ๋จผ์ ํ์๋ค.
์ SEOUL ๊ฐ์ ์๋ฆฌ๋ฅผ ํ๋์ง ๋์ ํ ใ ใ ์ดํด๊ฐ ์๋์ ใ ใ ์์๋ณด๋, ๋จ์ํ SEOUL์ด๋ผ๋ ๋ฐฐ์ด์ [JANE, KIM] ์ด ๋ค์ด์๊ณ , ์ด ๋ฐฐ์ด์ INDEX ์ค 0๋ฒ์ JANE, 1๋ฒ์ KIM ์ผ๋ก ๋์ด์์ด KIM ์๋ฐฉ์ 1๋ฒ์ ์๋ฐ ๋ผ๊ณ ์ถ๋ ฅํ๋ฉด ๋๋ ๊ฒ์ด์๋ค.
function solution(seoul) {
let answer = "";
for (i = 0; i < seoul.length; i++) {
if (seoul[i] === "kim") {
return `KIM์๋ฐฉ์ ${i}์์๋ค.`;
}
}
}
console.log(solution((SEOUL = ["jane", "jun", "jerry", "kim"])));
ํด์ค / ์ก์ค
์ฐ์ SEOUL์ด๋ผ๋ ๋ฐฐ์ด์ jane jun jerry kim ์ ๋ฃ์๋ค.
์์๋๋ก 0๋ถํฐ ์์ํ์ฌ kim์ 3๋ฒ์งธ์ ์๋ค
ํจ์ ์์์ for๋ฌธ์ ๋๋ ธ๊ณ , for๋ฌธ์ ํด์์ ๋ค์๊ณผ ๊ฐ๋ค.
i์ start๋ 0, i์ end๋ seoul๋ฐฐ์ด์ element ๋งํผ, i๋ ๋งค ๋ฐ๋ณต๋ง๋ค +1
for๋ฌธ ๋ด๋ถ์ if๋ฌธ์ ๋ง๋ค์ด์ ๋ง์ฝ seoul ๋ฐฐ์ด์[i] ๋ฒ์งธ ๊ฐ kim ์ผ๊ฒฝ์ฐ return ์ ํ๊ณ if๋ฌธ์ ๋น ์ ธ๋๊ฐ๋ค.
if๋ฌธ์ ๋ฐฑํฑ์ ์์ด์ฌ์ฉํ์๋ค.
โ๏ธ ์ฐธ๊ณ ํ ์ข์ ์ฝ๋
function solution(seoul) {
return "๊น์๋ฐฉ์ " + seoul.indexOf('Kim') + "์ ์๋ค";
}
ํด์ค / ์ก์ค
์ค ๋ผ ๊ฐ๊ฒฐํ๊ณ ์๋ จ๋๊ฒ ๋ง๋ ๊ฑฐ ๊ฐ๋ค;
const solution = (seoul) =>
`๊น์๋ฐฉ์ ${arr.findIndex(s => s === 'Kim')}์ ์๋ค`;
ํด์ค / ์ก์ค
์ด๊ฑด ES6๋ฌธ๋ฒ์ ์๋ก์ด ์ถ๊ฐ๋ findIndex ๋ผ๋ ๋ฉ์๋
๋ ๋ฏธ์น๋ฏ์ด ๊ฐ๊ฒฐํ๋ค.
findIndex(testFn(element[, index[, array]])[, thisArg])
findIndex์ ๊ธฐ๋ณธ๊ตฌ๋ฌธ์ ๋ณต์กํด ๋ณด์ด์ง๋ง ์ฌ์ฉํ๊ธฐ ํธ๋ฆฌํ๋ค๊ณ ํ๋ค.
- testFn
testFn์ ์์๊ฐ ๋ฐ๊ฒฌ๋์์์ ๋ํ๋ด๋ true๋ฅผ ๋ฐํํ ๋๊น์ง ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ํด ์คํํ๋ ํจ์
- testFn์ ์ธ ๊ฐ์ง ์ธ์๋ฅผ ์ฌ์ฉ
element๋ ์ฒ๋ฆฌ ์ค์ธ ๋ฐฐ์ด์ ํ์ฌ ์์
index๋ ์ฒ๋ฆฌ ์ค์ธ ํ์ฌ ์์์ ์ธ๋ฑ์ค
๋ฐฐ์ด์ findIndex()๊ฐ ํธ์ถ๋ ๋ฐฐ์ด
- thisArg
: thisArg๋ ์ฝ๋ฐฑ์ ์คํํ ๋ ์ฌ์ฉํ ์ ํ์ ๊ฐ์ฒด
thisArg ์ธ์๋ฅผ ์๋ตํ๋ฉด findIndex() ํจ์๋ undefined๋ฅผ ์ฌ์ฉ
: findIndex()๋ testFn์ด true๋ก ๊ฐ์ ๋ณํ๋๋ ๊ฐ์ธ truthy ๊ฐ์ ๋ฐํํ๋ ํญ๋ชฉ์ ์ฐพ์ ๋๊น์ง ๋ฐฐ์ด์ ๋ชจ๋ ์์์ ๋ํด testFn์ ์คํ
: findIndex()๊ฐ ๊ทธ๋ฌํ ์์๋ฅผ ์ฐพ์ผ๋ฉด ์ฆ์ ์์์ ์ธ๋ฑ์ค๋ฅผ ๋ฐํ
๐ TIL
๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ๋ง ํ๊ณ ์๋๋ฐ, ๋ค๋ฅธ์ฌ๋๋ค์ ๊ฐ๊ฒฐํ๊ณ ์ธ๋ จ๋ ์ฝ๋๋ฅผ ๋ณด๋ ๋ฌด์์์ก๋ค.
findIndex ๋ผ๋ ๋ฉ์๋๋ฅผ ์๋กญ๊ฒ ๋ฐฐ์ ๋ค.