https://school.programmers.co.kr/learn/courses/30/lessons/68646
ํ๋ก๊ทธ๋๋จธ์ค
SW๊ฐ๋ฐ์๋ฅผ ์ํ ํ๊ฐ, ๊ต์ก, ์ฑ์ฉ๊น์ง Total Solution์ ์ ๊ณตํ๋ ๊ฐ๋ฐ์ ์ฑ์ฅ์ ์ํ ๋ฒ ์ด์ค์บ ํ
programmers.co.kr
ํ๋ก๊ทธ๋๋จธ์ค ๋ ๋ฒจ 3.
๊ท์น์ ์ฐพ์์ ์ ์ฉ์์ผ์ผ ํ๋ค
๋ ์ด๋ฐ ์ํ/ํจํด ์ ํ์ด ์ข ์๋กญ๊ฒ ๋๊ปด์ ธ์ ์ด๋ ค์ด ๊ฒ ๊ฐ๋ค...๐ฅน
๊ทธ๋์ ํํธ ์ฐธ๊ณ ํ๋ค ใ ใ
๋ด๊ฐ ์ฐธ๊ณ ํ ๊ธ์์๊ฐ์ด๊ณผ ๊ฑฑ์ ์๋ ํ์ด ๋ฐฉ๋ฒ์ด๋ค.
๋จ ํ๋ฒ๋ง ์์ ํ์ ์ ํฐํธ๋ฆด ์ ์๋ค๋ ์ ์์, ์ด ๊ธฐํ๋ฅผ ๋ง์ง๋ง์ผ๋ก ๋จ๊ฒจ๋๊ณ
๋งจ ๋ง์ง๋ง์ 2๊ฐ๊ฐ ๋จ์์ ๋ ์์ ํ์ ์ ํฐํธ๋ฆฌ๊ฑฐ๋, ์ด ๊ธฐํ๋ฅผ ๋ฒ๋ฆฌ๊ณ ํฐ ํ์ ์ ํฐํธ๋ฆฌ๋ฉด ๋๋ค.
๊ทธ๋ฌ๋ ค๋ฉด, ๋ง์ง๋ง ์ด์ ์๋ ํญ์ ํฐ ์๊ฐ ์ฌ๋ผ์ ธ์ผ ํ๋ค(์์ ์๋ง ์ด์๋จ์)
(1) ๋งจ ๋ง์ง๋ง์ 2๊ฐ๊ฐ ๋จ์์ ๋ ์์ ํ์ ์ ํฐํธ๋ฆฌ๋ ค๋ฉด -> ๋จ์ ์์ ํ์ ์ด ์ต์๊ฐ์ด์ด์ผ ํจ
(2) ๋ง์ง๋ง 2๊ฐ์์ ์ด ๊ธฐํ๋ฅผ ๋ฒ๋ฆฌ๊ณ ํฐ ํ์ ์ ํฐํธ๋ฆฌ๋ฉด -> ์ต์๊ฐ์ด ์ด์๋จ์ (๋ฐ๋ผ์ ์ด ์ต์๊ฐ์ ํญ์ ์ด์๋จ์ ์ ์๋ค)
(3) ๋ฐ๋ผ์ ์ต์๊ฐ min์ ๊ตฌํ ๋ค, ์ด min์ ์ด์๋จ์ ์ ์์ผ๋ฏ๋ก answer = 1๋ก ์ค์ ํด์ค๋ค.
(4) ์ดํ 0 ~ min-1, end ~ min+1 ๊น์ง์ ๋ฒ์์์ ํญ์ ๋ ์์ ์๋ง ์ด์๋จ๊ฒ ํ๋ค. (๋ง๋๋ ์ซ์์ ๋ณธ์ธ ์ค ํฐ ์๋ฅผ ํฐํธ๋ฆผ)
์ฐธ๊ณ ๋ด์ฉ
๋์ ํ์ด
function solution(a) {
var answer = 0;
if(a.length<3) return a.length;
let minValue = Infinity;
let minIdx;
answer = 1;
for(let i=0; i<a.length; ++i){
if(minValue>a[i]){
minValue = a[i];
minIdx = i;
}
}
let big = Infinity;
for(let i=0; i<minIdx; ++i){
if(big>=a[i]){
big = a[i];
answer++;
}
}
big = Infinity;
for(let i=a.length-1; i>minIdx; --i){
if(big>=a[i]){
big = a[i];
answer++;
}
}
return answer;
}
'๐ ์๊ณ ๋ฆฌ์ฆ > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[MySQL/PGS] Lv.3 : ์ค๋ ๊ธฐ๊ฐ ๋ณดํธํ ๋๋ฌผ(2) (0) | 2025.05.09 |
---|---|
[Javascript/PGS] Lv.3 : ํ๊ดด๋์ง ์์ ๊ฑด๋ฌผ (2022 KAKAO) (0) | 2025.05.09 |
[Javascript/PGS] Lv.4 : ์ฌ๋ฐ๋ฅธ ๊ดํธ์ ๊ฐฏ์ (DP) (0) | 2025.05.08 |
[Javascript/PGS] Lv.3 : ๊ฑฐ์ค๋ฆ๋ (DP) (1) | 2025.05.08 |
[Javascript/PGS] Lv.3 : ๋ค๋จ๊ณ ์นซ์ ํ๋งค (0) | 2025.05.08 |