21 R을 이용한 표준화 표준점수 구하기
오라클에서 최대값과 최소값을 구하기 위해서는 집계함수 MAX최대값, MIN최소값을 사용합니다. 집계함수는 주로 GROUP BY 절과 함께 사용합니다. 단, SELECT 절에 집계 함수만 있으면 GROUP BY 절이 없어도 사용 가능합니다. 집계함수는 WHERE절에 직접 사용은 할 수 없습니다.. 만약 사용하고 싶다면 서브쿼리를 이용해야합니다. SELECT MAX컬럼 FROM 테이블명 SELECT MIN컬럼 FROM 테이블명 WHERE조건절에서 사용할 경우 서브쿼리를 사용합니다.
최고 급여를 받는 직원을 조회. 출력시 직원의 이름, 직업, 해당직원의 급여가 출력됩니다.
그럼 구분자가 문자열의 맨 끝에 위치한다면?
이라는 의문이 생길 수 있어요. 구분자가 문자열의 끝에 위치해도 split을 통해 구분자의 수를 구할 수 있을까? 가능합니다. 구분자가 끝에 위치하면, 끝에 빈문자열을 생성하여 배열에 포함하는 성질때문입니다. 위의 성질은 아래의 사안을 풀면서 정리한 적이 있습니다. 다시 문제로 돌아가보면, 그런 다음, length를 통해 개수를 구합니다. 이렇게 구한 length을 을 통해 값이 같은지 비교합니다.
굳이 삼항연산자를 사용하지 않고, 바로 값을 비교함으로써 코드가 조금 더 간결해졌다. ===으로 비교해도 어차피 값이 boolean값으로 나오므로 굳이 삼항연산자를 사용한다는 것은 아닙니다.
코드 설명
140줄146줄 오실레이터macd시그널을 구합니다. 148줄150줄 3가지2분전, 1분전, 현재 오실레이터를 round함수를 활용하여 소수 셋째자리에서 반올림합니다. 152줄162줄 3가지2분전, 1분전, 현재 macd, 시그널, 오실레이터를 출력합니다. 168줄 37줄def rqdataopc10002 함수를 실행합니다. 초기화 이유? 초기화하지 않으면 기존데이터가 지워지지 않고, 계속 누적되어 macd나 시그널 등에 왜곡된 값이 반환됩니다.
다른사람 코드중에 배울 것
1. splitseparator을 사용 2. 삼항연산자를 사용하지 않고 바로 를 비교 를 함으로써 코드의 길이가 많이 줄어 들었다. 이러한 비교를 위주로 위의 코드를 분석하면 아래와 같다. 첫번째 s.toUpperCase로 문자열을 대문자로 만든다. 그런 다음 splitP을 통해 문자열에서 P를 기준으로 나눈다. split는 separator로 들어간 값을 기준으로 문자열을 자르고, 그 값을 모아서 배열로 만든다.
구분자가 4개이면, 5조각이 된다?
구분자 1의 결과가 어떻게 나오는지를 더 쉽게 이해하기위해, 아래와 같은 빵을 자르는 것을 상상해봅니다. 아래의 빵을 모양으로 파인 부분을 기준으로 자른다고 해보자. 그러면 빵은 몇조각이 되겠는가? 당연히 5조각이 될 것입니다. 그래서 해당 문자열이 포함하고 있는 구분자의 수를 구하기 위해서는 위와같은 식이 나옵니다. 위의 식에서 1을 우변으로 옮기면서 1로 바뀐다. 구분자의 수 1 split구분자.length 1을 우변으로 옮기기 전의 식 위와 같은 성질을 이용하면, split을 사용해 문자열에 특정문자열이 몇번 포함되어있는지를 검사할 수 있어요.
직권발전기
직권발전기는 직렬이므로 무부하시 잔류전압 밖에 없어서 거의 조금밖에 전압이 유기되지 않습니다. 그러므로 시험을 하기 위해서는 부하를 걸어주어야 합니다. 또 부하를 걸어준다면 하나의 폐회로이기 때문에 전류의 방향은 계자전류, 전기자전류의 방향은 같습니다. 이번에도 부하를 걸어준다면 식은 다음과 같습니다. 브러시 전압 강하와 전기자반작용 전압강하 생략함. 직권발전기는 부하전류에 따라 전압변동이 심하게 변하기 때문에 별로 사용되지는 않습니다.
장거리 급전선전차선로에서 전력공급용에 넣어 승압기booster로 사용할 때가 있습니다.
문제 풀이
먼저 주어진 분수 2개를 더해야 하기 때문에 분모의 합이 저장되는 변수commDenom와 분자의 합이 저장되는 변수sumNumer를 각각 선언합니다. 그리고 최대공약수로 각각 나누어 기약분수의 분모와 분자를 만들어 반환하면 됩니다. 단순하게 요약하자면 1. 분수의 합 구하기분모, 분자 따로 2. 기약분수 만들기 이때 기약분수를 만들때는 유클리드 호제법을 사용해 gcd를 구하면됩니다. 유클리드 호제법 두 정수 사이에 최대공약수gcd를 보다.
효과적으로 구하는 것으로, 인류 최초의 알고리즘입니다. 형식) gcd(A, B) = gcd(B, A%B) G를 A와 B의 최대공약수라고 할 때, A aG, B bG 입니다.
PARTITION BY 절 활용
PARTITION BY 절은 GROUP BY 절과 비슷한 역할을 합니다. PARTITION BY 절을 사용하면 조회된 결과에서 최대값을 집계하여 표시하므로 전체 결과에서 최대값을 집계한 것과 약간의 차이가 발생할 수 있어요.
자주 묻는 질문
그럼 구분자가 문자열의 맨 끝에
이라는 의문이 생길 수 있어요. 궁금한 내용은 본문을 참고하시기 바랍니다.
코드 설명
140줄146줄 오실레이터macd시그널을 구합니다. 자세한 내용은 본문을 참고하시기 바랍니다.
다른사람 코드중에 배울 것
1 더 알고싶으시면 본문을 클릭해주세요.