ํฐ์คํ ๋ฆฌ ๋ทฐ
ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ฐ์ต > ์ ๋ ฌ > K๋ฒ์งธ ์
๋๋์ด๋ฐ๐พ 2018. 10. 24. 19:51๋ฌธ์ ์ค๋ช
๋ฐฐ์ด array์ i๋ฒ์งธ ์ซ์๋ถํฐ j๋ฒ์งธ ์ซ์๊น์ง ์๋ฅด๊ณ ์ ๋ ฌํ์ ๋, k๋ฒ์งธ์ ์๋ ์๋ฅผ ๊ตฌํ๋ ค ํฉ๋๋ค.
์๋ฅผ ๋ค์ด array๊ฐ [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3์ด๋ผ๋ฉด
- array์ 2๋ฒ์งธ๋ถํฐ 5๋ฒ์งธ๊น์ง ์๋ฅด๋ฉด [5, 2, 6, 3]์ ๋๋ค.
- 1์์ ๋์จ ๋ฐฐ์ด์ ์ ๋ ฌํ๋ฉด [2, 3, 5, 6]์ ๋๋ค.
- 2์์ ๋์จ ๋ฐฐ์ด์ 3๋ฒ์งธ ์ซ์๋ 5์ ๋๋ค.
๋ฐฐ์ด array, [i, j, k]๋ฅผ ์์๋ก ๊ฐ์ง 2์ฐจ์ ๋ฐฐ์ด commands๊ฐ ๋งค๊ฐ๋ณ์๋ก ์ฃผ์ด์ง ๋, commands์ ๋ชจ๋ ์์์ ๋ํด ์์ ์ค๋ช ํ ์ฐ์ฐ์ ์ ์ฉํ์ ๋ ๋์จ ๊ฒฐ๊ณผ๋ฅผ ๋ฐฐ์ด์ ๋ด์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
์ ํ์ฌํญ
- array์ ๊ธธ์ด๋ 1 ์ด์ 100 ์ดํ์ ๋๋ค.
- array์ ๊ฐ ์์๋ 1 ์ด์ 100 ์ดํ์ ๋๋ค.
- commands์ ๊ธธ์ด๋ 1 ์ด์ 50 ์ดํ์ ๋๋ค.
- commands์ ๊ฐ ์์๋ ๊ธธ์ด๊ฐ 3์ ๋๋ค.
์ ์ถ๋ ฅ ์
array | commands | return |
---|---|---|
[1, 5, 2, 6, 3, 7, 4] | [[2, 5, 3], [4, 4, 1], [1, 7, 3]] | [5, 6, 3] |
์ ์ถ๋ ฅ ์ ์ค๋ช
[1, 5, 2, 6, 3, 7, 4]๋ฅผ 2๋ฒ์งธ๋ถํฐ 5๋ฒ์งธ๊น์ง ์๋ฅธ ํ ์ ๋ ฌํฉ๋๋ค. [2, 3, 5, 6]์ ์ธ ๋ฒ์งธ ์ซ์๋ 5์
๋๋ค.
[1, 5, 2, 6, 3, 7, 4]๋ฅผ 4๋ฒ์งธ๋ถํฐ 4๋ฒ์งธ๊น์ง ์๋ฅธ ํ ์ ๋ ฌํฉ๋๋ค. [6]์ ์ฒซ ๋ฒ์งธ ์ซ์๋ 6์
๋๋ค.
[1, 5, 2, 6, 3, 7, 4]๋ฅผ 1๋ฒ์งธ๋ถํฐ 7๋ฒ์งธ๊น์ง ์๋ฆ
๋๋ค. [1, 2, 3, 4, 5, 6, 7]์ ์ธ ๋ฒ์งธ ์ซ์๋ 3์
๋๋ค.
๋ฌธ์ ๋ฅผ ๋ณด์ํ๋ ๋ฌธ์์ด์ ์๋ฅด๊ณ ๊ทธ๋ฅ ์ ๋ ฌ๋ง ํ๋ฉด ๋๋ค๊ธธ๋ slice()์ sort() ํจ์๋ง ์ฐ๋ฉด ๋๋๋ ๊ฒ์ด ์๋๊ฐ ํ๋๋ฐ ์๋ก์ด ์ฌ์ค์ ์๊ฒ๋์์ต๋๋ค. sort() ํจ์๋ ASCII ๋ฌธ์ ์์๋ก ์ ๋ ฌ๋ฉ๋๋ค.
์ฆ, ์ฐ๋ฆฌ๊ฐ ํํ ์๊ฐํ๋ ์ซ์๋ฅผ ๋ด๋ฆผ์ฐจ์ ์ ๋ ฌํ๋ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์ sort ํจ์๋ฅผ ์ฝ๊ฐ ๋ฐ๊ฟ์ค์ผ ํฉ๋๋ค.
(์ฐธ๊ณ ๋ก a-b๋ ์ค๋ฆ์ฐจ์ b-a๋ ๋ด๋ฆผ์ฐจ์์ ๋๋ค.)
1 2 3 4 5 6 7 8 9 10 11 12 | function solution(array, commands) { var answer = []; var sliced_arr = [] commands.forEach(function(element,i){ sliced_arr = array.slice(element[0]-1,element[1]) sliced_arr.sort(function(a,b){return a-b}) //์ด ๋ถ๋ถ์
๋๋ค. answer[i] = sliced_arr[element[2]-1] }) console.log(answer) return answer; } | cs |
๋ฌธ์์ด์ ์๋ฅด๋ ๊ฒ ๊น์ง๋ ๋ฌธ์ ๊ฐ ๋์ง ์๋๋ฐ sort ๋ด์ฅ ํจ์๋ฅผ ๊ทธ๋ฅ ์ฐ๋ฉด ์ ๋ ฌ์ด ์ ๋๋ก ๋์ง ์์ต๋๋ค.
์๋ฅผ๋ค๋ฉด [10, 1] ์ sort() ํจ์๋ฅผ ์ด์ฉํด ์ถ๋ ฅํด๋ณด๋ฉด 1, 10์ด ์๋ 10,1 ์ด ์ถ๋ ฅ๋๋ ๊ฒ์ ๋ณด์ค ์ ์์ต๋๋ค.
sort() ๋ผ๋ ๋ด์ฅํจ์๋ฅผ ๊ฒ์ํด๋ณด๋ฉด ํ์์ด ์ด๋ ์ต๋๋ค.
arr.sort([compareFunction])
๋งค๊ฐ๋ณ์
compareFunction
Optional- ์ ๋ ฌ ์์๋ฅผ ์ ์ํ๋ ํจ์. ์๋ตํ๋ฉด ๋ฐฐ์ด์ ๊ฐ ์์์ ๋ฌธ์์ด ๋ณํ์ ๋ฐ๋ผ ๊ฐ ๋ฌธ์์ ์ ๋ ์ฝ๋ ์ฝ๋ ํฌ์ธํธ ๊ฐ์ ๋ฐ๋ผ ์ ๋ ฌ๋ฉ๋๋ค.
๋ฐํ ๊ฐ
์ ๋ ฌํ ๋ฐฐ์ด. ์ ๋ฐฐ์ด์ด ์ ๋ ฌ๋๋ ๊ฒ์ ์ ์ํ์ธ์. ๋ณต์ฌ๋ณธ์ด ๋ง๋ค์ด์ง๋ ๊ฒ์ด ์๋๋๋ค
์ถ์ฒ : https://developer.mozilla.org/ko/docs/Web/JavaScript/Reference/Global_Objects/Array/sort
ํด๋น ํ์ด์ง์ ์ซ์ ์ด์ธ์ ๋ค๋ฅธ ํ์ ์ ์๋ฃํ ์ ๋ ฌ๋ ์์ผ๋ ์ฐธ๊ณ ํ์๋ฉด ์ข์ ๋ฏ ํฉ๋๋ค.
'ํ๋ก๊ทธ๋๋จธ์ค ์๊ณ ๋ฆฌ์ฆ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
ํ๋ก๊ทธ๋๋จธ์ค > ์คํ/ํ > ํ๋ฆฐํฐ (0) | 2019.01.07 |
---|---|
(2018๋ )KAKAO BLIND RECRUITMENT ์คํ์ฑํ ๋ฐฉ ๋ฌธ์ ํ์ด (0) | 2018.12.14 |
ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ฐ์ต > ์ ๋ ฌ > ๊ฐ์ฅ ํฐ ์ (1) | 2018.10.28 |
ํ๋ก๊ทธ๋๋จธ์ค ์ฝ๋ฉํ ์คํธ ์ฐ์ต ํด์ (์์ฅ) (0) | 2018.10.23 |
ํ๋ก๊ทธ๋๋จธ์ค ์ํฐ์ฝ๋ฉ ๋ฐ๋ชจ ๋ฌธ์ 1 (0) | 2018.10.19 |
- Total
- Today
- Yesterday
- @nestjs/config
- docker mysql
- Spring
- node.js backend
- nestjs config
- Spring Async
- JavaScript
- typeorm ์ฐ๊ฒฐ
- node.js
- Promise bulk
- backend-framework
- nestjs module
- ๊ธฐ์์ฒญAPI
- nestjs directory
- sequelize
- Request_Limit_Exceeded
- ๋น๋๊ธฐ ์์ฒญ
- typeorm
- foreignkey
- Promise error
- nestjs typeorm
- nestjs/cli
- nestjs project
- DeferredResult
- ํ๋ก๊ทธ๋๋จธ์ค
- nestjs configService
- NestJS
- nestjs doc
- ์๊ณ ๋ฆฌ์ฆ
- android
์ผ | ์ | ํ | ์ | ๋ชฉ | ๊ธ | ํ |
---|---|---|---|---|---|---|
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 |