| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | |||
| 5 | 6 | 7 | 8 | 9 | 10 | 11 |
| 12 | 13 | 14 | 15 | 16 | 17 | 18 |
| 19 | 20 | 21 | 22 | 23 | 24 | 25 |
| 26 | 27 | 28 | 29 | 30 |
- 코딩
- 컴파일러
- Oracle
- BM25
- hackerrank
- 코딩테스트
- 판다스
- 해시테이블
- ML
- 프로그래머스
- NumPy
- 자료구조
- string 모듈
- 오라클
- 해시
- Relation Extraction
- TF-IDF
- 파이썬
- python
- 구름톤
- 프로그래밍
- sql
- 해커랭크
- streamlit
- Compiler
- xla
- 인터프리터언어
- 코테
- 컴파일언어
- pandas
- Today
- Total
문제 링크
https://www.hackerrank.com/challenges/the-blunder/problem?isFullScreen=true
The Blunder | HackerRank
Query the amount of error in Sam's result, rounded up to the next integer.
www.hackerrank.com
사만다는 직원 테이블에 있는 모든 직원의 평균 월급을 계산하는 일을 맡았지만
계산을 마친 후에야 키보드의 0 키가 고장 났다는 것을 알았다.
그녀는 잘못 계산한 평균 급여과 실제 평균 급여 간의 차이를 찾는 데 도움을 받고자 한다.
오류의 양(즉, 실제 - 잘못 계산된 월평균 급여)을 계산하는 질의를 작성하여 다음 정수로 반올림합니다.
select ceil(avg(salary) - avg(replace(salary, 0, '')))
from employees;
-- 사만다는 월급을 입력할 때 0이 없이 입력하여 계산하였기 때문에 원래 salary 칼럼의 데이터에서 0은 제외시킨 후 평균값을 구해야 한다
-- 이를 위해 replace를 사용하여 0을 없애주었다
-- 원래 salary 데이터 평균과 0이 없어진 salary 데이터 평균을 빼는데 문제에서 이 값을 반올림하라고 하였다
-- 처음에 round를 써줬는데 소수 자리 숫자가 5 미만 이어서 버림이 되었다
-- 그래서 ceil(올림)을 써줬더니 답이 되었다 (문제에서 원하는 답은 소수점 자리 숫자와 상관없이 올림을 원했던 것)
# 숫자가 들어있는 데이터에서 0을 없애는 방법
replace(칼럼명, 0, '')
# 참고
(SQL) 반올림, 올림, 내림, 버림(round, ceil, floor, trunc) Oracle
(SQL) 반올림, 올림, 내림, 버림(round, ceil, floor, trunc) Oracle
ROUND 반올림 select round(34.567), round(34.567, 2), round(34.567, 1), round(34.567, 0), round(34.567, -1), round(34.567, -2) from dual; -- round(숫자, 위치) 위치가 없을 경우는 위치가 0일 경우와 같..
dong8ee.tistory.com
'SQL' 카테고리의 다른 글
| (SQL) 정규식 regexp_like() Oracle (0) | 2021.12.13 |
|---|---|
| (SQL) 정규식 regexp_count() Oracle (0) | 2021.12.13 |
| (SQL) 반올림, 올림, 내림, 버림(round, ceil, floor, trunc) Oracle (0) | 2021.12.10 |
| (프로그래머스) SQL Level 3 [없어진 기록 찾기] Oracle 풀이 (0) | 2021.12.10 |
| (프로그래머스) SQL Level 3 [오랜 기간 보호한 동물(2)] Oracle 풀이 (0) | 2021.12.10 |