Algorithm
- ์์ฃผํ์ง ๋ชปํ ์ ์ -
๋ฌธ์
์๋ง์ ๋ง๋ผํค ์ ์๋ค์ด ๋ง๋ผํค์ ์ฐธ์ฌํ์์ต๋๋ค.
๋จ ํ ๋ช ์ ์ ์๋ฅผ ์ ์ธํ๊ณ ๋ ๋ชจ๋ ์ ์๊ฐ ๋ง๋ผํค์ ์์ฃผํ์์ต๋๋ค.
๋ง๋ผํค์ ์ฐธ์ฌํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด participant์ ์์ฃผํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด completion์ด ์ฃผ์ด์ง ๋, ์์ฃผํ์ง ๋ชปํ ์ ์์ ์ด๋ฆ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
- completion์ ๊ธธ์ด๋ participant์ ๊ธธ์ด๋ณด๋ค 1 ์์ต๋๋ค.
- ์ฐธ๊ฐ์์ ์ด๋ฆ์ 1๊ฐ ์ด์ 20๊ฐ ์ดํ์ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์ฐธ๊ฐ์ ์ค์๋ ๋๋ช ์ด์ธ์ด ์์ ์ ์์ต๋๋ค.
์ ์ถ๋ ฅ ์์
participant | completion | return |
["leo", "kiki", "eden"] | ["eden", "kiki"] | "leo" |
["marina", "josipa", "nikola", "vinko", "filipa"] | ["josipa", "filipa", "marina", "nikola"] | "vinko" |
๋ฌธ์ ํ๊ธฐ
ํด๋น ๋ฌธ์ ๋ ์ฌ์ค ๋ฌธ์ ๋ง ๋ดค์๋๋ ๊ทธ๋ ๊ฒ ์ด๋ ต์ง ์์๊ฑฐ๋ผ๊ณ ์์ํ๊ณ ์ฝ๊ฒ ์ ๊ทผํ๋๋ฐ ์๊ฐ์ด ๊ฝค๋ ์ค๋ ๊ฑธ๋ ธ์๋ ๋ฌธ์ ์๋ค.
๋ฌธ์ ์์๋ participant์ completion์ ์๋ก ๋น๊ตํ์ฌ ์์ฃผํ์ง ๋ชปํ ํ์ฌ๋์ ์ด๋ฆ์ ๋ฆฌํดํ๋ ๋ฌธ์ ์ธ๋ฐ ์ด๋ ๋๋ ๋ฌธ์ ์์ ๋๋ช ์ด์ธ์ด ์์ ์ ์๋ค๋ ๊ฒ์ ํ์ธํ์ง ๋ชปํด์ completion์์ ์ด๋ฏธ ์ด๋ฆ์ด ์์ผ๋ฉด ๊ทธ๋ฅ ๋๋ช ์ด์ธ ๋ชจ๋ ์ฑ๊ณตํ๋ ๊ฒ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ๋ฉด ๋๋ ์ค ์์์๋๋ฐ ๋ค๋ฆ๊ฒ ์์์ฐจ๋ฆฌ๊ณ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด๋๊ฐ๋ค.
function solution(participant, completion) {
for(let i = 0; i < completion.length; i++) {
for(let j = 0; j < participant.length; j++) {
if(completion[i] === participant[j]) {
participant[j] = null;
break;
}
}
}
return participant.filter(el => el !== null)[0];
}
์ผ๋จ ๋ด๊ฐ ์ฒ์์ ์์ฑํ ์ฝ๋๋ก ์ด์ค for๋ฌธ์ ์ฌ์ฉํด ์ฃผ๋ฉด์ ์๋ก ๊ฐ์ ๊ฐ์ ์ฐพ์ null๋ก ๊ฐ์ ๋ฐ๊ฟ๋ฒ๋ฆฌ๊ณ ๋ฐ๋ณต๋ฌธ์ ๋ฒ์ด๋๊ฒ ๋ ๊ฒฝ์ฐ์ null์ด ์๋ ๊ฐ์ filter ์ฒ๋ฆฌ ํด์ค์ ๋ฆฌํดํ๋ ๋ฐฉํฅ์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํด ์ฃผ์๋ค.
๊ทธ๋ฐ๋ฐ ์ฝ์์ฐฝ์์๋ ์ ๋๋ก ๋ ๊ฐ์ด ๋์ค๋๋ฐ ํ๋ก๊ทธ๋๋จธ์ค์์๋ ํจ์จ์ฑ์์ ๋ฌธ์ ๊ฐ ์๊ฒจ์ ํด๊ฒฐ๋์ง ์์๋ค.
์๋ฌด๋๋ filter๋ ๋ฐ๋ณต๋ฌธ ๋ฑ์ ํตํด์ ์ฝ๋๊ฐ ์์ฑ๋๋ค ๋ณด๋ ๋ถํ์ํ ํ์ ๋ ๋ฐ์๋ ์๋ ์์ด ๋ฌธ์ ๊ฐ ํด๊ฒฐ๋์ง ์์ ๊ฒ ๊ฐ์๋ค.
๊ทธ๋์ ๊ฒฐ๊ตญ์ ๋ค๋ฅธ์ฌ๋์ด ์์ฑํ ์ฝ๋๋ค์ ์ฐธ๊ณ ํ์ฌ ์์ฑํ๊ฒ ๋์๋๋ฐ ์ผ๋จ ๋ ๋งค๊ฐ๋ณ์์ ๊ฐ์ ์ ๋ ฌ์ ํ ๋ค์์ for๋ฌธ์ ํตํด์ ๊ฐ์์์น์ ๊ฐ์ ๊ฐ์ด ๋ค์ด๊ฐ ์๋์ง ํ์ธ์ ํ๊ณ ๋ค๋ฅผ ๊ฒฝ์ฐ์ ๊ฐ์ ์์ฑํด ์ฃผ๋ฉด ๋ฐ๋ก ํด๋น ๊ฐ์ ๋ฆฌํดํ๋ ๋ฐฉ๋ฒ์ผ๋ก ์์ฑํ์๋๋ ๋ฌธ์ ๊ฐ ๊ฝค๋ ์ฝ๊ฒ ํด๊ฒฐ ๋ ์ ์์๋ค.
ํด๋น ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด๋๊ฐ๋ฉด์ ํจ์จ์ฑ๋ํ ์ค์ํ๋ค๋๊ฒ์ ๋ค์ํ๋ฒ ๋๋ผ๊ฒ ๋์๋ค.
'๊ฐ์ธ๊ณต๋ถ > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Level 1] ํ๋ ฌ์ ๋ง์ (0) | 2021.03.28 |
---|---|
[Level 1] x๋งํผ ๊ฐ๊ฒฉ์ด ์๋ n๊ฐ์ ์ซ์ (0) | 2021.03.26 |
[Level 1] ์ง์ฌ๊ฐํ ๋ณ์ฐ๊ธฐ (0) | 2021.03.25 |
[Level 1] ํฌ๋ ์ธ ์ธํ๋ฝ๊ธฐ ๊ฒ์ (0) | 2021.03.23 |
[Level 1] ๋ ๊ฐ ๋ฝ์์ ๋ํ๊ธฐ (0) | 2021.03.23 |
๋๊ธ