1. ๋ฌธ์ œ

N๊ฐœ์˜ ๋ฌธ์ž์—ด์ด ์ž…๋ ฅ๋˜๋ฉด ์ค‘๋ณต๋œ ๋ฌธ์ž์—ด์€ ์ œ๊ฑฐํ•˜๊ณ  ์ถœ๋ ฅํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์„ธ์š”. ์ถœ๋ ฅํ•˜๋Š” ๋ฌธ์ž์—ด์€ ์›๋ž˜์˜ ์ž…๋ ฅ์ˆœ์„œ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค.

์ž…๋ ฅ์˜ˆ์ œ | 

good

time

good

time

student

์ถœ๋ ฅ์˜ˆ์ œ |

good

time

student

 

 

2. ๋ฌธ์ œํ’€์ด

์ค‘๋ณต ๋ฌธ์ž ์ œ๊ฑฐ๊ฐ€ String.indexOf()๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค๋ฉด,

์ค‘๋ณต ๋‹จ์–ด ์ œ๊ฑฐ๋Š” Array.indexOf()๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฌธ์ œ์ด๋‹ค.

function solution(str){
	let answer = [];
    for(let i =; i < str.length; i++){
    	if(str.indexOf(str[i] === i) answer += str[i];
    }
    return answer;
}

let str = ["good", "time", "good", "time", "student"];
console.log(solution(str));

์ฒ˜์Œ์—๋Š” ์ด๋ ‡๊ฒŒ๋งŒ ํ•ด์„œ ๊ฐ’์€ ์ œ๋Œ€๋กœ ๋‚˜์™”์ง€๋งŒ ๋ฐฐ์—ด๋กœ ๋‚˜์˜ค์ง€ ์•Š์•˜๋‹ค.

Array.filter() ๋ฉ”์†Œ๋“œ ์‚ฌ์šฉํ•ด์„œ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์š”์†Œ๋“ค๋งŒ ๋ฐ›์•„์„œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“ค์–ด์•ผํ•œ๋‹ค. 

filter() ๋ฉ”์†Œ๋“œ๋Š” ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ์ธ์ž๋กœ ๋ฐ›๋Š”๋ฐ, ์ฝœ๋ฐฑํ•จ์ˆ˜๋Š” ์ธ์ž๋กœ value, index, array ์ˆœ์„œ๋Œ€๋กœ ๋ฐ›๋Š”๋‹ค.

function solution(str){
	let answer;
    anwser = str.filter((value, i) => { 
    // filter์˜ ์ฝœ๋ฐฑํ•จ์ˆ˜๋Š” ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ ๊ฐ’, ์ธ๋ฑ์Šค, ๋ฐฐ์—ด ์ˆœ์„œ๋Œ€๋กœ ๋ฐ›๋Š”๋‹ค. ๋”ฐ๋กœ ๋ณ€์ˆ˜์ง€์ •์„ ์•ˆํ•ด์ค˜๋„ ๋œ๋‹ค. 
    	if(str.indexOf(value) === i) return value;
        // ๊ฐ’์˜ ์ฒซ๋ฒˆ์งธ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ๊ฐ€ ์‹ค์ œ ์ธ๋ฑ์Šค ๋ฒˆํ˜ธ์™€ ๊ฐ™์€์ง€ ํ™•์ธํ•˜๊ณ  ๋งž์œผ๋ฉด ๊ฐ’ ๋ฆฌํ„ดํ•œ๋‹ค.
    });
    return answer;
}

let str = ["good", "time", "good", "time", "student"];
console.log(solution(str));

 

 

3. ์‚ฌ์šฉํ•œ ๊ฐœ๋…

String.indexOf()

๋ฌธ์ž์—ด์—์„œ ์ฃผ์–ด์ง„ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜

 

Array.indexOf()

๋ฐฐ์—ด์—์„œ ์ฃผ์–ด์ง„ ๊ฐ’๊ณผ ์ผ์น˜ํ•˜๋Š” ์ฒซ ๋ฒˆ์งธ ์ธ๋ฑ์Šค๋ฅผ ๋ฐ˜ํ™˜

 

Array.filter(๊ฐ’, ์ธ๋ฑ์Šค, ์›๋ž˜๋ฐฐ์—ด)

์ฝœ๋ฐฑํ•จ์ˆ˜์˜ ์กฐ๊ฑด์„ ๋งŒ์กฑํ•˜๋Š” ์š”์†Œ๋งŒ ๋ฐ›์•„์„œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“ ๋‹ค.

๋ฐฐ์—ด ๋‚ด ๊ฐ ์š”์†Œ์— ์ฝœ๋ฐฑํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœ์—์„œ ๋ฆฌํ„ด๊ฐ’์ด true์ธ ์• ๋“ค๋กœ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด ๋งŒ๋“ ๋‹ค. false์ด๋ฉด ๋ฒ„๋ฆฐ๋‹ค. 

// ํŒจํ„ด
let result = students.filter((student) => student.enrolled);
// ํ™”์‚ดํ‘œ ํ•จ์ˆ˜๋กœ ๋ฐฐ์—ด student์ค‘์— ๋“ฑ๋ก๋œ ์• ๋“ค๋งŒ ๋ฝ‘์•„์„œ ์ƒˆ๋กœ์šด ๋ฐฐ์—ด์„ ๋งŒ๋“ ๋‹ค.

+ Recent posts