ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๋ชจ์๊ณ ์ฌ
์ฝ๋ฉํ ์คํธ ์ฐ์ต > ์์ ํ์ > ๋ชจ์๊ณ ์ฌ
๐ฉ ๋ฌธ์ ์ค๋ช
์ํฌ์๋ ์ํ์ ํฌ๊ธฐํ ์ฌ๋์ ์ค๋ง์ ๋๋ค. ์ํฌ์ ์ผ์ธ๋ฐฉ์ ๋ชจ์๊ณ ์ฌ์ ์ํ ๋ฌธ์ ๋ฅผ ์ ๋ถ ์ฐ์ผ๋ ค ํฉ๋๋ค. ์ํฌ์๋ 1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง ๋ค์๊ณผ ๊ฐ์ด ์ฐ์ต๋๋ค.
1๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ...
2๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ...
3๋ฒ ์ํฌ์๊ฐ ์ฐ๋ ๋ฐฉ์: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ...
1๋ฒ ๋ฌธ์ ๋ถํฐ ๋ง์ง๋ง ๋ฌธ์ ๊น์ง์ ์ ๋ต์ด ์์๋๋ก ๋ค์ ๋ฐฐ์ด answers๊ฐ ์ฃผ์ด์ก์ ๋, ๊ฐ์ฅ ๋ง์ ๋ฌธ์ ๋ฅผ ๋งํ ์ฌ๋์ด ๋๊ตฌ์ธ์ง ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
๐ฉ ์ ํ ์กฐ๊ฑด
โ๏ธ ์ํ์ ์ต๋ 10,000 ๋ฌธ์ ๋ก ๊ตฌ์ฑ๋์ด์์ต๋๋ค.
โ ๋ฌธ์ ์ ์ ๋ต์ 1, 2, 3, 4, 5์ค ํ๋์
๋๋ค.
๐ ๊ฐ์ฅ ๋์ ์ ์๋ฅผ ๋ฐ์ ์ฌ๋์ด ์ฌ๋ฟ์ผ ๊ฒฝ์ฐ, returnํ๋ ๊ฐ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
๐ฉ ๋ฌธ์ ํ์ด
function solution(answers) {
let score1 = 0;
let score2 = 0;
let score3 = 0;
let answer = "";
let math1 = answer.padStart(answers.length, "12345").split("").map(e => Number(e));
let math2 = answer.padStart(answers.length, "21232425").split("").map(e => Number(e));
let math3 = answer.padStart(answers.length, "3311224455").split("").map(e => Number(e));
for(i=0; i<answers.length; i++){
if(math1[i] == answers[i]){score1++;}
if(math2[i] == answers[i]){score2++;}
if(math3[i] == answers[i]){score3++;}
}
let result = [];
let genius = Math.max(score1, score2, score3);
if(genius == score1){result.push(1)}
if(genius == score2){result.push(2)}
if(genius == score3){result.push(3)}
return result;
}
๋ค ๋ฐ๋ณต์ธ๋ฐ for๋ฌธ ์ฐ๊ธฐ ์ ๋งคํ๊ฒ 3๋ฒ ๋ฐ๋ณต์ด๋ผ ์ฝ๋๊ฐ ์์ฒญ ๊ธฐ๋ค์. padStart() ๋ฉ์๋๋ฅผ ์ฌ์ฉํด ๋ณด์์ต๋๋ค. for๋ฌธ ์ if๋ฌธ์ผ๋ก ์ฑ์ ์ ํด์ฃผ๊ณ , ๊ฒฐ๊ณผ๋ result์ ๋ด์์ค๋๋ค. ์ํฌ์์ธ๋ฐ genius๋ ๋ฌด์จ...
๊ทธ๋ฐ๋ฐ ๋ณ์๊ฐ ๋๋ฌด ๋ง์์
let score1, score2, score3 = 0; ์ด๋ผ๊ณ ํ๋ฒ์ ์ฝ๋๋ฅผ ์์ฑํ์๋๋ฐ ์๋ฌ๊ฐ ๋๋ ์ด์ ๊ฐ ๋ญ๊น์?
๐ฉ ๋ค๋ฅธ ํ์ด
function solution(answers) {
var answer = [];
var a1 = [1, 2, 3, 4, 5];
var a2 = [2, 1, 2, 3, 2, 4, 2, 5];
var a3 = [3, 3, 1, 1, 2, 2, 4, 4, 5, 5];
var a1c = answers.filter((a,i)=> a === a1[i%a1.length]).length;
var a2c = answers.filter((a,i)=> a === a2[i%a2.length]).length;
var a3c = answers.filter((a,i)=> a === a3[i%a3.length]).length;
var max = Math.max(a1c,a2c,a3c);
if (a1c === max) {answer.push(1)};
if (a2c === max) {answer.push(2)};
if (a3c === max) {answer.push(3)};
return answer;
}
filter() ๋ฉ์๋๋ฅผ ์ฌ์ฉํ์ฌ OMR ๋งํน์ ์ฑ์ ๊น์ง ํ๋ฒ์ ๊ฐ์ด ํด์ฃผ์๋ค์. ๋๋จํฉ๋๋ค. map() ์ด์ฌํ ๊ณต๋ถํ๋๋, ์ด์ ๋ filter()๋ฅผ ๋ฐฐ์์ผ๊ฒ ๋ค์.
'Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๋ก๋์ ์ต๊ณ ์์์ ์ต์ ์์ (3) | 2022.11.28 |
---|---|
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๊ฐ์ ์ซ์๋ ์ซ์ด (2) | 2022.11.27 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์ฝ๋ผ ๋ฌธ์ (1) | 2022.11.24 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ (1) | 2022.11.24 |
ํ๋ก๊ทธ๋๋จธ์ค 1๋จ๊ณ : ์ฝ๋ผ์ธ ์ถ์ธก (1) | 2022.11.23 |
๋๊ธ