알고리즘 연습 사이트
Day 14:Scope
스코프라는 것은 프로그램 안에서 어떤 변수가 미치는 영역, 범위를 말한다.
어떤 변수가 선언되면 그 지역을 벗어날 때까지 그 변수는 유효하다.
생성자의 파라미터는 보통 인스턴스 변수와 이름을 동일하게 하고 this 키워드를 이용하여 값을 초기화 해준다.
14일차는 int 형의 양수 배열 elements에 대해 절대값이 가장 큰 숫자를 구하는 문제이다.
어떤 두 수의 뺄셈의 절대값이 가장 크려면, 가장 큰 수에서 가장 작은 수를 빼면 된다.
두 수의 거리가 가장 긴게 절대값이 크다고 이해하면 될 것이다.
배열을 sort하면 기본 오름차순 정렬이 된다.
그리고 마지막 배열의 숫자와 0번째 숫자를 빼면 된다.
elements에 들어있는 수에는 음수가 없으므로 단순히 빼주기만 하면 된다.
class Difference {
private int[] elements;
public int maximumDifference;
Difference(int[] elements){
this.elements = elements;
}
void computeDifference(){
Arrays.sort(elements); //오름차순 정렬
maximumDifference = elements[elements.length-1] - elements[0];
}
}
댓글 없음:
댓글 쓰기