코드 문제 해결
1152 단어 codechallenge
그는 한 걸음 한 걸음에 오르막 U보인지, 내리막 D보인지를 가리켰다.가리의 소풍은 해수면에서 시작하고 끝나며 한 걸음 한 걸음 상승하거나 하락할 때마다 한 단위의 고도 변화를 대표한다.
다음과 같은 용어를 정의했습니다.
예를 들어 가리의 경로가 s=[DDUUUDD]라면 그는 먼저 두 단위의 깊은 계곡으로 들어간다.그리고 나서 그는 두 단위 높이의 산에 올랐다.결국 그는 해수면으로 돌아와 도보 여행을 마쳤다.
도전: 가리가 산골짜기를 걸어서 건너는 수량을 표시하는 정수를 인쇄합니다.
솔루션:
static int countingValleys(int n, string s)
{
int altitude = 0;
int valleys = 0;
Array steps = s.ToArray();
foreach (Char step in steps)
{
if (step == 'D') altitude--;
if (step == 'U')
{
altitude++;
if (altitude == 0) valleys++;
}
}
return valleys;
}
이 해결 방안의 주요 문제는 우리의 알고리즘이 현재 단계에 올라갈 때만 곡수를 늘려야 한다는 것이다.그렇지 않으면 우리의 알고리즘은 계곡뿐만 아니라 가리가 산을 오르고 해수면으로 돌아갈 시간도 계산할 수 있다.
Reference
이 문제에 관하여(코드 문제 해결), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/rezende79/counting-valleys-code-challenge-solved-51ho텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)