728x90
구분
- Warmup 2
문제
https://codingbat.com/prob/p167430
풀이
풀이랄 것은 없지만, 가끔 codingbat은 문제가 무엇을 원하는지 잘모르겠다.
문제 해석
주어진 int뱁열에서, 만약 2, 7, 1 패턴을 가졌으면, true를 return해라
*2, 7, 1 패턴 : 수 / 수 + 5 / 수 - 1 의 패턴을 가진 부분 배열이며, 2 , 7(2 + 5), 1 ( 2 - 1 )
그런데, 마지막 숫자("1"부분) 는 ± 2 범위 내도 허용하라.
ex) 시작 숫자가 2인 경우 : 2 7 1 / 2 7 -1 / 2 7 0 / 2 7 3 / 2 7 2 -> true
코드
public static boolean has271(int[] nums){
int len = nums.length;
if(len<3) return false;//길이 3 이하면 검사도 불가능
for(int i=0; i<len-2; i++){//마지막 2칸을 남겨둬야 3개 검사가능
int number = nums[i];
if(number+5 == nums[i+1]){//2번쨰 수는 1번쨰 수 +5
if(nums[i+2]<= number + 1 && nums[i+2]>= number-3) return true;//3번째 수는 1번째 수 -1 한 값에서 +-2
}
}
return false;//다 도는 동안 없었으면 false
}
Warmup2 다했다~
728x90
'Algorithm > 기타(기업등)' 카테고리의 다른 글
[CodingBat/java] canBalance (0) | 2021.10.28 |
---|---|
[CodingBat/java] mirrorEnds (0) | 2021.10.14 |
[CodingBat/java] sameEnds (0) | 2021.10.14 |
[CodingBat/java] gHappy (0) | 2021.10.11 |
[CodingBat/java] countTriple (0) | 2021.10.11 |