-
๋ฌธ์ 38. ์๋ฆผ์ด์ ์๋ฅด๋ฐ์ดํธ๐ง codingtest/javascript 100์ 2022. 3. 25. 11:04728x90
ํ์๋ค์ ์ ์๋ฅผ ๊ณต๋ฐฑ์ผ๋ก ๊ตฌ๋ถํ์ฌ ์ ๋ ฅ์ ๋ฐ๊ณ ,
1~3์ ํ์๋ค์๊ฒ ์ฌํ์ ์ฃผ๋๋ก ํ๋ค.
(1 ~ 3์ ํ์์ ์ฌ๋ฌ๋ช ์ผ์ ์์)์ฌํ์ ๋ฐ์ ํ์์ ์๋ฅผ ์ถ๋ ฅํด๋ณด์ !
//์ ๋ ฅ 97 86 75 66 55 97 85 97 97 95 //์ถ๋ ฅ 8
๋ฏธ๋ฆฌ ! ์๊ฐํด๋ด์ผํ๋๊ฒ
- ์์๋ฅผ ๊ตฌํํ -> ๊ธฐ์กด๋ฐฐ์ด์๋ค filter์ ๊ต์งํฉ ์์ฑ์ ์ด์ฉํ์ฌ ์ฐพ์์์
- ์กฐ๊ธ์ ๋ฉ์๋๋ง ์๋ฉด ํ์์๋ ๋ฌธ์ ์ด๋ค
new Set()// ๋ฐฐ์ด๋ด ๊ฒน์น๋ ์์๋ค์ ์ ๊ฑฐํด์ค๋ค -> ํ์ง๋ง ๊ฐ์ฒด๊ฐ์ผ๋ก ๋ณํจ Array.from()// ๊ฐ์ฒด๋ฅผ ๋ฐฐ์ด๋ก ์ ํํด์ค .sort() // ์ ๋ ฌํด์ฃผ๋ ๋ฉ์๋(์ซ์๋ด ๋ด๋ฆผ์ฐจ์์ ๋งค๊ฐ๋ณ์๋ฅผ ์ฌ์ฉํ์ฌ b - a) .slice()// 1-3์๊น์ง ์๋ผ์ค๋ค .filter()// ๋ฐฐ์ด๋ผ๋ฆฌ์ ์ด๋ ํ ์กฐ๊ฑด์ ์ถ๊ฐ, ์๋ก์ด ๋ฐฐ์ด์ ์์ฑ .length // ๋ฐฐ์ด์ ๊ธธ์ด๋ฅผ ์๋ ค์ค
์์๋ฅผ ๊ตฌํด๋ณด์
- ๋จผ์ ๊ณต๋ฐฑ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฅ์ ๋ฐ๋๊ฒ์ ์๊ฐํ๊ณ .split(' ') ๋ฉ์๋๋ก ๋๋ ์ค์ดํ, rank ์ ์ธํ new Set()์ ์ด์ฉํ์ฌ ๋ฐ๋ณต์์๋ฅผ ์ ๊ฑฐ, ๊ฐ์ฒด -> ๋ฐฐ์ด์ ์ํด Array.from()์ฌ์ฉ
// let score = prompt().split(' ') let score ='97 86 75 66 55 97 85 97 97 95'.split(' ') let rank = Array.from(new Set(score)) console.log(rank) //['97', '86', '75', '66', '55', '85', '95']
- sort()ํจ์๋ฅผ ์ฌ์ฉํ์ฌ (b-a)๋ด๋ฆผ์ฐจ์์ผ๋ก ์ ๋ ฌ((a-b) -> ์ค๋ฆ์ฐจ์)ํ๋ค, slice()๋ก 1-3์๊น์ง ๋๋ ์ค๋ค
let score ='97 86 75 66 55 97 85 97 97 95'.split(' ') let rank = Array.from(new Set(score)).sort((a, b) => b - a).slice(0, 3) console.log(rank) // [ '97', '95', '86' ]
๋ฐฐ์ด์ ๋์กฐํ์ฌ ์นด์ดํธ ์์ผ๋ณด์
- count ์ ์ธํ, filter ํจ์๋ฅผ ํตํ์ฌ score ๋ฐฐ์ด๋ด 1-3์๋ฅผ ๊ณจ๋ผ๋ผ๋๋ง๋ค ์๋ก์ด ๋ฐฐ์ด๋ก๋ง๋ค๊ณ -> ๋ฐฐ์ด์ length๋ฅผ ์ถ๋ ฅ
let score ='97 86 75 66 55 97 85 97 97 95'.split(' ') let rank = Array.from(new Set(score)).sort((a, b) => b - a).slice(0, 3) console.log(rank) // [ '97', '95', '86' ] let count = score.filter(a => rank.includes(a)).length console.log(count) // 6
- ๊ธฐ์กด์ ๋ต
let score = prompt().split(" ");// ['97', '100', '97', '56', '80', '100', '80', '60'] score.sort((a, b) => a - b)// [ '100', '97', '80', '60', '56' ] let rank = [] let c = 0 while(rank.length < 4){ let val = score.pop(); if(!rank.includes(val)){ rank.push(val); } c++; } console.log(c -1)
'๐ง codingtest > javascript 100์ ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
๋ฌธ์ 55. ๊ณตํฌ์ ํ๋ ธ์ด์ ํ (0) 2022.03.31 ๋ฌธ์ 53. ๊ดํธ ๋ฌธ์์ด (0) 2022.03.28 ๋ฌธ์ 50. ๋ฒ๋ธ์ ๋ ฌ ๊ตฌํํ๊ธฐ (0) 2022.03.26 ๋ฌธ์ 37. ๋ฐ์ฅ์ ๊ฑฐ (0) 2022.03.24 ๋ฌธ์ 10. ๋ณ์ฐ๊ธฐ (0) 2022.03.23