if(str.length() == 0) {
return null;
}
// 문자열을 배열로 담아줌
String[] nums = str.split("");
String result = new String();
// 반복문으로 문자열을 순회
for (int i = 0; i < str.length() - 1; i++) {
// i와 i+1이 모두 홀수 일 경우
int check1 = Integer.parseInt(nums[i]) % 2;
int check2 = Integer.parseInt(nums[i+1]) % 2;
if(check1 != 0 && check2 != 0) {
// i뒤에 '-'를 추가해줌
nums[i] = nums[i].concat("-");
}
}
result = String.join("", nums);
return result;
if(str.length() == 0) {
return null;
}
// 결과값을 담을 result 선언 후 첫값을 담아줌
String result = "" + str.charAt(0);
// 반복문으로 순회하면서
for (int i = 1; i < str.length(); i++) {
int check1 = Character.getNumericValue(str.charAt(i - 1)) % 2;
int check2 = Character.getNumericValue(str.charAt(i)) % 2;
// 둘다 홀수면 "-"을 추가
if(check1 != 0 && check2 != 0) {
result = result + "-";
}
// 결과값에 현요소를 추가
result = result + str.charAt(i);
}
return result;
"" +
해줌Character.getNumericValue
vs Integer.parseInt
전자는 char 타입을 매개변수로 받아서 int 타입으로 반환
후자는 String 타입을 매개변수로 받아서 int 타입으로 반환
예를들어 "12"를 Character.getNumericValue
에 넣으면 에러가 발생하므로 Integer.parseInt
를 사용해야한다