๐ 1. ๋ฌธ์
[Programmers, Level1] ํด์ | ์์ฃผํ์ง ๋ชปํ ์ ์
์๋ง์ ๋ง๋ผํค ์ ์๋ค์ด ๋ง๋ผํค์ ์ฐธ์ฌํ์์ต๋๋ค. ๋จ ํ ๋ช ์ ์ ์๋ฅผ ์ ์ธํ๊ณ ๋ ๋ชจ๋ ์ ์๊ฐ ๋ง๋ผํค์ ์์ฃผํ์์ต๋๋ค.
๋ง๋ผํค์ ์ฐธ์ฌํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด participant์ ์์ฃผํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด completion์ด ์ฃผ์ด์ง ๋, ์์ฃผํ์ง ๋ชปํ ์ ์์ ์ด๋ฆ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
๋ง๋ผํค ๊ฒฝ๊ธฐ์ ์ฐธ์ฌํ ์ ์์ ์๋ 1๋ช
์ด์ 100,000๋ช
์ดํ์
๋๋ค.
completion์ ๊ธธ์ด๋ participant์ ๊ธธ์ด๋ณด๋ค 1 ์์ต๋๋ค.
์ฐธ๊ฐ์์ ์ด๋ฆ์ 1๊ฐ ์ด์ 20๊ฐ ์ดํ์ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
์ฐธ๊ฐ์ ์ค์๋ ๋๋ช
์ด์ธ์ด ์์ ์ ์์ต๋๋ค.
participant | completion | return |
---|---|---|
[โleoโ, โkikiโ, โedenโ] | [โedenโ, โkikiโ] | โleoโ |
[โmislavโ, โstankoโ, โmislavโ, โanaโ] | [โstankoโ, โanaโ, โmislavโ] | โmislavโ |
โ ํ์ด
1์ฐจ ์๋ - ์ ํ์ฑ ํต๊ณผ โญ, ํจ์จ์ฑ ์คํจ โ
function solution(participant, completion) {
for (let i = 0; i < completion.length; i++) {
let num = participant.indexOf(completion[i]);
participant.splice(num, 1);
}
return participant[0];
}
2์ฐจ ์๋ - ์ ํ์ฑ ํต๊ณผ โญ, ํจ์จ์ฑ ์คํจ โ
function solution(participant, completion) {
completion.forEach((item) => {
participant.splice(participant.indexOf(item), 1);
});
return participant[0];
}
3์ฐจ ์๋ - ์ ํ์ฑ ํต๊ณผ โญ, ํจ์จ์ฑ ํต๊ณผ โญ
function solution(participant, completion) {
participant.sort();
completion.sort();
for(var i = 0; i < participant.length; i++) {
if (participant[i] !== completion[i]) {
return participant[i];
}
}
- 1์ฐจ์๋์์๋ ํ์ ํ๋๋๋ก
for๋ฌธ
์ผ๋ก ์ฐธ๊ฐํ ์ ์๋ค๊ณผ ์์ฃผํ ์ ์ ํ๋ช ์ฉ ๋น๊ตํ๋ฉฐ ์ฐธ๊ฐ์ ์๋ค์ ์ง์๋๊ฐ๋ ์ฝ๋๋ฅผ ์งฐ๋ค. ์ ํ์ฑ์ ํต๊ณผํ๋๋ฐ ํจ์จ์ฑ๋ฌธ์ ์์ ํต๊ณผํ์ง ๋ชปํ๋ค. - 2์ฐจ์๋์์
for๋ฌธ
์forEach๋ฌธ
์ผ๋ก ๋ณ๊ฒฝํ์์ง๋ง ์ด ์ฝ๋ ๋ํ ํจ์จ์ฑ์์ ๋งํ๋ค. - 3์ฐจ์๋์์๋ ๊ฐ์ฅ ๋จผ์ ์ฐธ๊ฐ ์ ์๋ค, ์์ฃผ ์ ์๋ค ๋ชจ๋ ์ ๋ ฌ์ ํ๊ณ ์ ๋ ฌ๋ ๋ฐฐ์ด์ index๋ผ๋ฆฌ ๋ค๋ฅด๋ฉด ๋ฐ๋ก ํด๋น ์ ์๊ฐ
return
๋๋ ์ฝ๋๋ก ์์ฑํ๋ค. 3์ฐจ ์๋์์ ํจ์จ์ฑ ๋ฌธ์ ๊ฐ ํด๊ฒฐ ๋๋ค! ๊ตณ์ด 1. for๋ฌธ์ ์ ๋ถ ๋ค ๋๋ฆฌ๊ณ 2. ๊ธฐ์กด ๋ฐฐ์ด์ ์ญ์ ํ๋ ์ฝ๋ ์์ด ๊ฐ์ index์์ ์๋ก ๋ค๋ฅธ ์์๊ฐ ๋์์ ๋ ํด๋น ์์๊ฐ ๋ฐ๋กreturn
๋๋ ๋ถ๋ถ์์ ํจ์จ์ฑ์ด ๋์์ง ๊ฒ ๊ฐ๋ค.