SQL/HackerRank(해커랭크)

HackerRank(해커랭크) MySQL The Blunder 문제 답

진리뷰 2023. 9. 24. 17:42
반응형

 

 

HackerRank(해커랭크)-MySQL-The-Blunder-문제-답-썸네일
The Blunder 문제 답

 

 

*MySQL 버전, 집계 함수(Aggregation) 문제입니다. 

 

 

 

해커랭크 The Blunder 문제

 

  • 문제 의도: 집계 함수 aggregation 사용
  • 문제 상황

사만다의 키보드에서 숫자 0 작동 안 됨, 따라서 평균 급여 계산이 잘못됨.

실제 평균 급여와 잘못 계산된 평균 급여 차이(difference)를 구해야 함.

i.e.: actual - miscalculated average monthly salaries.

  • 정수로 반올림(round it up to the next int) 필요.

 

해커랭크-the-blunder-문제
The Blunder 문제

 

 

 

해커랭크 The Blunder 문제 설명

 

대충 0 없어서 잘못 계산했다는 내용.

실제 급여는 2519.00, 잘못 계산한 값은 98.00이라서  2519.00 - 98.00 했다는 말.

차이가 2016.00인데 정수인 2016랑 같으니, 반올림할 필요 없다는 말.

해커랭크-the-blunder-문제-설명
The Blunder 문제 설명

 

 

 

해커랭크 The Blunder 답

 

  • AVG 사용: 직원들의 평균 급여를 구하기 때문.
  • CEIL 사용: 정수로 반올림하기 위함
  • REPLACE 사용: 사만다 상황처럼 0을 없애야 하기 때문.

 

# actual - miscalculated average monthly salaries.

SELECT CEIL(AVG(salary) - AVG(REPLACE(salary, '0', ' ')))
FROM EMPLOYEES;

 

 

 

추가 정리

 

  • CEIL() = CEILING(): CEIL(n)는 n보다 큰 정수 중 가장 작은 정수로 올림.

CEIL(1.15)

> 2

CEIL(-2.98)

> -2

 

  • REPLACE(): 문자 변경 시 사용.

REPLACE('abc', 'a', 'b'): abc에서 a를 b로 바꿈

> bbc

 

  • Blunder: 큰 실수, 바보 같은 실수
  • 쿼리 쓸 때 괄호 범위 잘 확인하기
반응형
top