ํฐ์คํ ๋ฆฌ ๋ทฐ
ํ๋ก๊ทธ๋๋จธ์ค > ์์ ํ์ > ๋ชจ์๊ณ ์ฌ
๋๋์ด๋ฐ๐พ 2019. 1. 11. 17:38๋ฌธ์ ์ค๋ช
์ํฌ์๋ ์ํ์ ํฌ๊ธฐํ ์ฌ๋์ ์ค๋ง์
๋๋ค. ์ํฌ์ ์ผ์ธ๋ฐฉ์ ๋ชจ์๊ณ ์ฌ์ ์ํ ๋ฌธ์ ๋ฅผ ์ ๋ถ ์ฐ์ผ๋ ค ํฉ๋๋ค. ์ํฌ์๋ 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 ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ํฌ์๋ ์ํ์ ํฌ๊ธฐํ ์ฌ๋์ ์ค๋ง์ ๋๋ค. ์ํฌ์ ์ผ์ธ๋ฐฉ์ ๋ชจ์๊ณ ์ฌ์ ์ํ ๋ฌธ์ ๋ฅผ ์ ๋ถ ์ฐ์ผ๋ ค ํฉ๋๋ค. ์ํฌ์๋ 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ํ๋ ๊ฐ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
- ์ํ์ ์ต๋ 10,000 ๋ฌธ์ ๋ก ๊ตฌ์ฑ๋์ด์์ต๋๋ค.
- ๋ฌธ์ ์ ์ ๋ต์ 1, 2, 3, 4, 5์ค ํ๋์ ๋๋ค.
- ๊ฐ์ฅ ๋์ ์ ์๋ฅผ ๋ฐ์ ์ฌ๋์ด ์ฌ๋ฟ์ผ ๊ฒฝ์ฐ, returnํ๋ ๊ฐ์ ์ค๋ฆ์ฐจ์ ์ ๋ ฌํด์ฃผ์ธ์.
์ ์ถ๋ ฅ ์
answers return [1,2,3,4,5] [1] [1,3,2,4,2] [1,2,3]
answers | return |
---|---|
[1,2,3,4,5] | [1] |
[1,3,2,4,2] | [1,2,3] |
์ ์ถ๋ ฅ ์ ์ค๋ช
์
์ถ๋ ฅ ์ #1
- ์ํฌ์ 1์ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ๋งํ์ต๋๋ค.
- ์ํฌ์ 2๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํ๋ ธ์ต๋๋ค.
- ์ํฌ์ 3์ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํ๋ ธ์ต๋๋ค.
๋ฐ๋ผ์ ๊ฐ์ฅ ๋ฌธ์ ๋ฅผ ๋ง์ด ๋งํ ์ฌ๋์ ์ํฌ์ 1์
๋๋ค.
์
์ถ๋ ฅ ์ #2
- ์ํฌ์ 1์ [1, 4]๋ฒ ๋ฌธ์ ๋ฅผ ๋งํ์ต๋๋ค.
- ์ํฌ์ 2๋ ๋ค์ฏ ๋ฒ์งธ ๋ฌธ์ ๋ฅผ ๋งํ์ต๋๋ค.
์ ์ถ๋ ฅ ์ #1
- ์ํฌ์ 1์ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ๋งํ์ต๋๋ค.
- ์ํฌ์ 2๋ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํ๋ ธ์ต๋๋ค.
- ์ํฌ์ 3์ ๋ชจ๋ ๋ฌธ์ ๋ฅผ ํ๋ ธ์ต๋๋ค.
๋ฐ๋ผ์ ๊ฐ์ฅ ๋ฌธ์ ๋ฅผ ๋ง์ด ๋งํ ์ฌ๋์ ์ํฌ์ 1์ ๋๋ค.
์ ์ถ๋ ฅ ์ #2
- ์ํฌ์ 1์ [1, 4]๋ฒ ๋ฌธ์ ๋ฅผ ๋งํ์ต๋๋ค.
- ์ํฌ์ 2๋ ๋ค์ฏ ๋ฒ์งธ ๋ฌธ์ ๋ฅผ ๋งํ์ต๋๋ค.
์ผ๋จ ๋ฌธ์ ์ ๊ฐ์๊ฐ 5๊ฐ๋ผ ํ๋ค๋ฉด ์ํฌ์๋ค์ ์ฐ๊ธฐ ํจํด์ด 5๊ฐ๋ณด๋ค ์ ์ ๊ฒ์ด ์๊ธฐ๋๋ฌธ์ ๋น๊ตํ๋๋ฐ์ ํฐ ๋ฌธ์ ๊ฐ ์๊ธฐ์ง ์์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ฌธ์ ์ ๊ฐ์๋ณด๋ค ์ํฌ์๋ค์ ์ฐ๊ธฐํจํด์ด ๋ ์งง์ ๊ฒฝ์ฐ๊ฐ ์๊น๋๋ค. ์๋ฅผ๋ค๋ฉด ์ด 6๊ฐ์ ๋ฌธ์ ๋ฅผ ํธ๋๋ฐ ๋ต์ด 1,2,3,4,5,1 ์ด๋ผ๋ฉด ์ํฌ์ 1๊ฐ์ ๊ฒฝ์ฐ๋ 1๋ฒ๋ถํฐ 5๋ฒ๊น์ง ๋น๊ตํ ๋์๋ ๋ฌธ์ ๊ฐ ์๋๋ฐ 6๋ฒ๋ฌธ์ ๋ ๋ค์ ์ฒซ๋ฒ์งธ ์ฐ๊ธฐ ํจํด์ธ 1๋ฒ์ผ๋ก ๋์๊ฐ์ผํฉ๋๋ค. ๊ทธ๋์ ์ด ๋ถ๋ถ์ ํ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ฐธ๊ณ ํ์ฌ ์์ฑํ์์ต๋๋ค.
function solution(answers) { let answer = []; let pattern = [ [1,2,3,4,5], [2,1,2,3,2,4,2,5], [3,3,1,1,2,2,4,4,5,5] ] let scores = [0,0,0]; answers.map((v,i)=>{ pattern.forEach((val,idx)=>{ let cur = val.shift(); if(cur === v) {scores[idx]++;} pattern[idx].push(cur); }) }) let max = Math.max(...scores); scores.forEach((v,i)=>{ if(v===max) answer.push(i+1); }) return answer; } let answers = [1,2,3,4,5]; solution(answers);
shift ์ push๋ฅผ ํตํด answers ์ ๋ฐฐ์ด์ ๋ฐ๋ณต์ด ๋๋ ๋ ๊น์ง ํจํด์ ๊ณ์ ์ํํ ์ ์๊ฒ๋ ํด์ค๋๋ค. ๊ฐ์ฅ ๋ง์ด ๋งํ ์ฌ๋์ ์ฐพ๊ฒ ๋๋ฉด ๋ง์ง๋ง์ผ๋ก ๊ทธ๊ฒ ๋๊ตฌ์ธ์ง answer๋ก ๋ฐํํด์ค๋๋ค.
'ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
- Total
- Today
- Yesterday
- typeorm ์ฐ๊ฒฐ
- node.js backend
- nestjs module
- JavaScript
- nestjs/cli
- docker mysql
- @nestjs/config
- DeferredResult
- android
- node.js
- typeorm
- ํ๋ก๊ทธ๋๋จธ์ค
- ๊ธฐ์์ฒญAPI
- ์๊ณ ๋ฆฌ์ฆ
- nestjs configService
- Promise error
- sequelize
- nestjs typeorm
- nestjs config
- foreignkey
- nestjs directory
- NestJS
- Spring
- Request_Limit_Exceeded
- backend-framework
- Spring Async
- nestjs doc
- Promise bulk
- ๋น๋๊ธฐ ์์ฒญ
- nestjs project
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |