코딩 공부/프로그래머스
(프로그래머스) Lv.0 삼각형의 완성조건(1)
챠나
2023. 4. 12. 00:24
[문제설명]
class Solution {
public int solution(int[] sides) {
int answer =0;
int a= 0;
int b= 0;
int c =0;
for (int i=0; i<sides.length; i++) {
a = Math.max(Math.max(sides[i],sides[i+1]),sides[i+2]);
b = sides[i+1];
c = sides[i+2];
}
if (a<b+c) {
answer = 1;
} else {
answer = 2;
}
return answer;
}
}
말도 안되는 이상한 코드인것 같지만..
내 생각으로는 Math.max함수를 이용하여 sides[0] 번째 숫자와 sides[1]번째 숫자를 비교하여 큰수 그리고 그 값에서 나온 큰 수와 sides[2] 중에 큰수를 비교하는 함수를 이용했다.
사실 코드가 저게 맞는 것 같지 않은 엉터리 코드 같다..
import java.util.Arrays;
class Solution {
public int solution(int[] sides) {
int answer =0;
Arrays.sort(sides);
if(sides[2]<sides[0]+sides[1]) {
answer = 1;
} else {
answer = 2;
}
return answer;
}
}
결국 고민하고 구글링 한 후 얻은 답은 저것...
Arrays.sort(); 함수를 써서 오름차순 정렬을 한 뒤
인덱스를 비교한 것이었다.
진짜 똑똑하다....
내 생각과 답지에서 구현한 논리는 똑같았는데 내가 아직 코드를 짜는 것에 있어 개념이 제대로 박혀 있는 것 같지 않다.
속상하다.