728x90
반응형
문제 설명
실수 flo가 매개 변수로 주어질 때, flo의 정수 부분을 return하도록 solution 함수를 완성해주세요.
제한사항
- 0 ≤ flo ≤ 100
입출력 예
flo | result |
1.42 | 1 |
69.32 | 69 |
입출력 예 #1
- 1.42의 정수 부분은 1입니다.
입출력 예 #2
- 69.32의 정수 부분은 69입니다.
[나의 풀이]
class Solution {
public in solution(double flo) {
return (int) flo;
}
}
[다른 풀이]
class Solution {
public int solution(double flo) {
return Integer.parseInt(Double.toString(flo).substring(0, Double.toString(flo).indexOf(".")));
}
}
Integer.parseInt는 String문자열 혹은 문자를 int로 변환한다.
double타입의 flo를 문자열로 변환한 뒤 substring() 메소드를 통해 0부터 "." dot 인덱스까지 잘라내면 정수값을 반환받을 수 있다.
이렇게까지 할 필요가 있나?
class Solution {
public int solution(double flo) {
return Integer.parseInt(Double.toString(flo).split("\\.")[0]);
}
}
그냥 잘라내고 첫번째 인덱스로 접근하는 방법도 있다.
. dot는 정규표현식 에서 어떤 문자와도 매치되는 메타 문자중 하나 이기 때문에 escape처리해야 분할문자로 사용이 가능하다.
728x90
반응형
'코딩테스트 - 프로그래머스 > Lv. 0' 카테고리의 다른 글
[68] JAVA 카운트 다운 (1) | 2023.11.27 |
---|---|
[67] JAVA 카운트 업 (0) | 2023.11.27 |
[65] JAVA 배열 자르기 (1) | 2023.11.27 |
[64] JAVA 문자 반복 출력하기 (2) | 2023.11.27 |
[63] JAVA 문자열로 변환 (1) | 2023.11.22 |