코딩테스트 문제를 풀 던 중에 소수점을 버려야 하는 경우가 발생해서 찾아보던 중
내용정리를 해두면 좋을 것 같아 간단하게 정리해보려 합니다!
각각의 함수의 공식 문서와 playground에서의 테스트 결과를 작성하였습니다🤔
( 소수점 자리의 수가 5미만, 5, 6이상 인 경우, 이렇게 3가지 숫자로 테스트를 진행하였습니다. )
소수점 올림 : ceil()
- ceil() 함수는 소수점 아래의 숫자가 있으면, 소수점 아래를 다 버림 처리하고 정수부에 1을 더해주는 함수입니다.
( * SIMD2 란? : "A vector of two scalar values."로, 두 스칼라 값의 백터값을 의미합니다. )
ceil함수를 테스트~ 그 결과는?
세 가지 경우에서 모두 소수점 올림이 잘 이루어진 걸 볼 수 있네요!
소수점 버림 : floor()
- floor()의 경우는 ceil()에서의 버림처리 부분만하고 정수부는 건들지 않는 형태라고 보시면 됩니다.
( * SIMD3 이란? : "A vector of three scalar values." 로, 세 스칼라값의 백터값을 의미합니다. )
floor함수를 테스트~ 그 결과는?
이것도 세가지 경우에 대해서 소수점 버림이 잘 이루어졌군요!
소수점 반올림 : round()
- round()는 5미만의 경우는 floor()함수처럼 소수점 아래를 버림 처리, 5이상의 경우는 ceil()함수 처럼 소수점 아래는 버림처리하고 정수부에 1을 더해줍니다.
마지막으로 round 함수를 테스트~ 그 결과는?
5미만인 1.3의 경우는 버림 처리가 되었고, 5이상인 1.5와 1.6에 대해서는 올림 처리가 잘 된 것을 보실 수 있습니다.
위의 내용을 코드블록으로 남겨두겠습니다. 직접 작성하며 테스트 해보시길 바랍니다 😄
// 소수점 올림
ceil(1.3)
ceil(1.5)
ceil(1.6)
// 소수점 버림
floor(1.3)
floor(1.5)
floor(1.6)
// 소수점 반올림
round(1.3)
round(1.5)
round(1.6)
예전에 코딩테스트 볼 때, 소수점 처리하는 부분에서 따로 함수가 없는 줄 알고 직접 구현했던 기억이...ㅠㅠ
이걸 보시는 여러분들은 DRY(Don't Repeat Yourself!) !
직접 구현해보는 것도 좋은 경험이지만, 이미 있는건 편하게 사용합시다ㅎㅎ
.
.
.
틀린부분이 있거나, 더 좋은 방법이 있다면 댓글로 남겨주세요!
🌈댓글은 언제나 환영입니다🙏🏻
반응형
'Swift' 카테고리의 다른 글
sort, sorted의 차이는 무엇일까? - swift (0) | 2021.09.30 |
---|---|
클래스, 인스턴스, 객체가 도대체 뭡니까. - swift (0) | 2021.08.20 |
주어진 문자열이 문자로만 이루어져 있는지 체크하는 함수 만들기 - swift (2) | 2021.07.22 |
readLine()을 통해 키보드로 입력받기 - swift (0) | 2021.07.19 |
문자열 자르기 components & split - swift (2) | 2021.07.17 |