๋ฌธ์ ) ์๋ง์ ๋ง๋ผํค ์ ์๋ค์ด ๋ง๋ผํค์ ์ฐธ์ฌํ์์ต๋๋ค. ๋จ ํ ๋ช ์ ์ ์๋ฅผ ์ ์ธํ๊ณ ๋ ๋ชจ๋ ์ ์๊ฐ ๋ง๋ผํค์ ์์ฃผํ์์ต๋๋ค.
๋ง๋ผํค์ ์ฐธ์ฌํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด participant์ ์์ฃผํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด completion์ด ์ฃผ์ด์ง ๋, ์์ฃผํ์ง ๋ชปํ ์ ์์ ์ด๋ฆ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ)
- ๋ง๋ผํค ๊ฒฝ๊ธฐ์ ์ฐธ์ฌํ ์ ์์ ์๋ 1๋ช ์ด์ 100,000๋ช ์ดํ์ ๋๋ค.
- completion์ ๊ธธ์ด๋ participant์ ๊ธธ์ด๋ณด๋ค 1 ์์ต๋๋ค.
- ์ฐธ๊ฐ์์ ์ด๋ฆ์ 1๊ฐ ์ด์ 20๊ฐ ์ดํ์ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์ฐธ๊ฐ์ ์ค์๋ ๋๋ช
์ด์ธ์ด ์์ ์ ์์ต๋๋ค.
*์ ์ถ๋ ฅ ์:
participant | completion | return |
["leo", "kiki", "eden"] | ["eden", "kiki"] | "leo" |
["marina", "josipa", "nikola", "vinko", "filipa"] | ["josipa", "filipa", "marina", "nikola"] | "vinko" |
["mislav", "stanko", "mislav", "ana"] | ["stanko", "ana", "mislav"] | "mislav" |
๋ด ํ์ด
function solution(participant, completion){
let object= {};
//์ ์ฒด ์ฐธ์ฌ์ธ์ ๋ฐฐ์ด์ ๊ฐ์ฒด๋ก ๋ง๋ค๊ธฐ
participant.forEach((name)=>{
if(object[name]){
object[name] = object[name]+1;
}else{
object[name]= 1;
}
})
//์ ์ ์ฐธ์ฌ์ธ์ ๊ฐ์ฒด์์ ์์ฃผํ ์ฌ๋ ๋นผ๊ธฐ
completion.forEach((name)=>{
if(object[name]){
object[name] -= 1;
}
})
//์์ฃผ ๋ชปํ ์ฌ๋ ์ฐพ๊ธฐ
for(let name in object){
if(object[name]===1){
return name;
}
}
}
Description
๋งจ ์ฒ์ ๋ฌธ์ ํ์๋ ๋ฐฉ์์ for๋ฌธ์ ์ด์ฉํ์ฌ participant ๋ฐฐ์ด์์ completion ๋ฐฐ์ด ๊ฐ์ ๊ฐ์ ๋ชจ๋ ์ ๊ฑฐ ํ ๋จ์ ํ๋์ ๊ฐ์ ๋ฆฌํดํ๋ ์ฝ๋๋ฅผ ์์ฑํ์๋ค(*๋จ์ ํ๋์ ๊ฐ์ด ์์ฃผํ์ง ์์ ์ฌ๋). ๊ทธ๋ฌ๋ ์ฝ๋ ์ฑ์ ์ ์ ํ์ฑ์ ๋ชจ๋ ๋ง์ผ๋, ํจ์จ์ฑ ๋ถ๋ถ์์ ๋ชจ๋ ์๊ฐ ์ด๊ณผ๋ก ํ๋ฝ์ฒ๋ฆฌ ๋์๋ค. ๊ทธ๋์ ์ด๋ฆฌ์ ๋ฆฌ for๋ฌธ์ ๋ณ๊ฒฝํด๋ณด์์ผ๋ ๊ณ์ ์๊ฐ ์ด๊ณผ๋ก ํ๋ฝ๋์ด ๋ฌธ์ ๋ฅผ ๋ค์ ์ฝ์ด๋ณด์๋ค. ๊ทธ๋ฌ๋ ์ค ํด๋น ๋ฌธ์ ๊ฐ ํด์๋ฌธ์ ๋ผ๋ ๊ฑธ ๋ณด๊ฒ ๋์๋ค. 'ํด์'๋ผ๋ ๋จ์ด๋ ๋ค์ด๋ณด๊ธด ํ์ผ๋ ์์ง ๋ญ์ง ๋ชจ๋ฅธ ์ํ์ฌ์ ์ผ๋จ ๊ฒ์ํด๋ณด์๋ค.(์ด๊ฒ์ด ํจ์จ์ฑ ๋ฌธ์ ๋ฅผ ํต๊ณผํ ์ ์๋ ํคํฌ์ธํธ์ธ๊ฐ...??!)
ํด์๋ ์๋ฅผ๋ค์ด ๋น๋ฐ๋ฒํธ๋ฅผ ์ํธํํ์ฌ ์ ์ฅํ๋๋ฐ ์ฌ์ฉ๋๋ ๋ฐ์ดํฐ ๊ด๋ฆฌ/์ ์ง ์๋ฃ๊ตฌ์กฐ๋ก, ์ด๋ค ์ธํ ๊ฐ์ ๋ฐ์ผ๋ฉด ๊ทธ ๊ฐ์ ํด์ ํจ์์ ํต๊ณผ์์ผ ๋์จ ์ธ๋ฑ์ค(index)์ ์ ์ฅ๋๋ค. ๋ฐ๋ผ์ ํค์ ๋ฒจ๋ฅ ๋ชจ์์ผ๋ก ์ ์ฅ๋๋ ์๋ฃ๊ตฌ์กฐ์ธ๋ฐ ํด๋น๋ฌธ์ ๊ฐ ํด์๋ฌธ์ ์ธ ๊ฒ์ผ๋ก ๋ณด์ participant ๋ฐฐ์ด์ ํค์ ๋ฒจ๋ฅ ๋ชจ์์ผ๋ก ๋ณ๊ฒฝํ ํ completion ๋ฐฐ์ด ์์๊ฐ์ participant ํค๊ฐ์ผ๋ก ๋ฐ๋ก ์ฐพ์ ์์ ๋ฉด ๊ทธ๋ฅ for๋ฌธ์ ์ด์ฉํ๋๊ฑฐ ๋ณด๋ค ํจ์จ์ฑ์ด ๋์์ง๋ ๊ฑด๊ฐ ์ถ์ด ์์ ์ฝ๋๋ก ๋ณ๊ฒฝํ์๊ณ ๊ทธ ๊ฒฐ๊ณผ ๋ฌธ์ ๋ฅผ ํต๊ณผํ์๋ค.(์ฐ์ ๋ฌธ์ ๊ฐ ํต๊ณผ๋๊ธด ํ๋๋ฐ ๋ด๊ฐ ํผ ์ฝ๋๊ฐ ์ง์ง ํด์๋ฌธ์ ์ถ์ ์๋๋๋ก ํ์๋๊ฐ๋ ์ ํํ ๋ชจ๋ฅด๊ฒ ๋คใ
ใ
ใ
)
๋ค๋ฅธ ๋ถ๋ค์ ํ์ด
/*ํ์ด 1*/
function solution(participant, completion) {
participant.sort();
completion.sort();
for(let i in participant) {
if(participant[i] !== completion[i]) return participant[i];
}
}
/*ํ์ด 2*/
const solution = (p, c) => {
p.sort()
c.sort()
while (p.length) {
let pp = p.pop()
if (pp !== c.pop()) return pp
}
}
Review
์๋ ์ด๋ก ...?? ๋๋ ๋งจ ์ฒ์ for๋ฌธ์ ์ด์ฉํ์ฌ ํ์์ ๋ ํจ์จ์ฑ ๋ถ๋ถ์์ ํต๊ณผ๊ฐ ์๋์๋๋ฐ... sort( )๋ก ์ ๋ ฌ ์์ผ์ค ๋ค for๋ฌธ์ ์ด์ฉํ๋๊น ๋๋ค...??? ์ด๋ ๊ฒ ์ค๋ ๋๋ sort ๋ฉ์๋์ ์ค์์ฑ์ ๋ฐฐ์ ๋ค...(ใ ํํํํํใ ํณใ )
'๋ฌธ์ ํ๊ธฐ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ํฐ์ผ๋ชฌ (0) | 2021.06.02 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ด์ (0) | 2021.06.01 |
[Javascript] ๊ตฌ๊ตฌ๋จ ๊ตฌํ (0) | 2021.04.28 |
[Javascript] ๋ณ์ฐ๊ธฐ (0) | 2021.04.28 |
[P ๋ฌธ์ ํ๊ธฐ] ๋ ์ ์ ์ฌ์ด์ ํฉ (0) | 2021.04.27 |