728x90
우선 HackerRank라는 사이트에 친숙해지려고 노력중인데
영어라서 쉽지 않고......
하루동안 못풀던 문제들도 존재한다..
그래도 최대한 열심히 문풀 해 볼 생각!
오늘 문제는 Counting Valleys!
U과 D를 구분해서 호수의 최소 개수를 구하면 된다!
예시를 보면 8개의 U와 D를 입력해서
0을 기준으로 상승한다면 산을 표현하고 0보다 작다면 강을 표현하는데
위의 그림의 경우에는 현재 UD으로 산 1개와
DDUDUU으로 작은강 2개라고 생각할 수 있으나
결론적으로 1개의 넓은 강에서 2개의 구간이 존재하는 것으로
1개의 강으로 표현가능하다.
생각보다 코드는 간단하다.
내가 구현한 구간은 countingValleys 함수를 구현했는데
0을 기준으로 U이면 1을 증가, D이면 1을 감소하여 반복문을 돌리다가
0에 도달했을 경우 전에 있던 값이 U이라면 1을 증가하는 방식으로 구현했다.
만약 산의 개수를 구했다면 전에 있는값이 D가 되어야 한다.
테스트 케이스에 모두 적합하여 승인을 받았다.
알고리즘 문제를 아직 풀고 있는 중이지만.....
개발자가 되기 위해서는 공부해야 하는 것들이 정말 많다는 것을 느끼는 중이다.
다음에는 더 좋은 포스팅으로 찾아오겠습니다.
728x90
'Algorithm > HackerRank' 카테고리의 다른 글
세무민의 알고가자 : [HackerRank] 2D Array - DS 문제 풀기 (0) | 2021.02.20 |
---|---|
세무민의 코딩일기 : [HackerRank] Sparse Arrays 문제 풀기 (0) | 2021.02.10 |
세무민의 코딩일기 : [HackerRank] Repeated String 문제 풀기 (0) | 2021.02.02 |
세무민의 코딩일기 : [HackerRank] Sales by Match 문제 풀기 (0) | 2021.01.29 |