반응형
▷ 문제 : Counting Valleys (Easy)
▷ 해결 날짜 : 2022.04.21
▷ 소요 시간 : 20분
▷ 풀이 과정 :
문제는 계곡을 몇 번이나 지상에서 들어갔냐를 구하는 건데,
문제에서는 산과 계곡을 왔다 갔다 한다.
계곡을 간 횟수를 카운팅 하는 건 지상에서 내려갈 때만 카운팅을 하는 거라 어떻게 구분 값을 줄지만 고민해주면 된다.
그래서 그냥 산, 땅, 계곡 이렇게 세분류로 나눠서 계속해서 비교해 카운팅 해주었다.
▷ 구현
function countingValleys(steps, path) {
// state : land, mount, valley
let [state, height, count] = ['land', 0, 0]
for(let dir of path){
height += (dir === 'U') ? 1 : -1;
if(state === 'land' && height < 0) count++;
state = (height === 0) ? 'land' :
(height < 0) ? 'valley' : 'mount';
}
return count;
}
▷ 복기 :
뭔가 좀 아쉬워서 다른 사람들 꺼 봐도 결국 비슷하게 접근하는 건 맞지만 상태를 어떤 식으로 주는지만 달라서 별 소득은 없었다.
반응형
댓글