☑️ 내가 쓴 답(오답)
✔ 체크 할 부분
1) 변환하는 부분 학습 필요(다른 사람의 풀이 -> replace()메서드 사용)
// 00:40
// String s 배열에 one~nine까지의 값들을 넣고
// answer = answer + numbers[i]을 추가해나가면서, answer이 s의 값과 일치한다면, 해당 i값을 return
class Solution {
public long solution(String numbers) {
long answer = 0;
String n = "";
String[] s = {"one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
for(int i = 0; i < s.length; i++){ // i는 s의 길이만큼 반복
for(int j = 0; j < numbers.length(); j++){ // j는 number의 길이만큼 반복
if(n.equals(s[i])){ // i=0일 때, ""과 "one"은 불일치
answer += (i+1);
} else { // n = "o"
n += numbers.charAt(j);
}
}
}
return answer;
}
}
☑️ 다른 사람의 풀이
✔ 체크 할 부분
1) replace(a,b)를 통하여 a값이 b로 대체되도록 하기
2) a,b값은 charSequence형태(String,StringBuffer,StringBuilder)여야만 한다
* int, long 같은 숫자형 타입은 CharSequence가 아니므로 직접적으로 사용할 수 없음
3) 값을 Long타입으로 변환하려면, Long.parseLong(value)를 사용
class Solution {
public long solution(String numbers) {
long answer = 0;
numbers = numbers.replace("zero","0");
numbers = numbers.replace("one","1");
numbers = numbers.replace("two","2");
numbers = numbers.replace("three","3");
numbers = numbers.replace("four","4");
numbers = numbers.replace("five","5");
numbers = numbers.replace("six","6");
numbers = numbers.replace("seven","7");
numbers = numbers.replace("eight","8");
numbers = numbers.replace("nine","9");
answer = Long.parseLong(numbers);
return answer;
}
}
'Coding Test' 카테고리의 다른 글
(CodingTest) : 26일차 인덱스 바꾸기 (0) | 2025.04.25 |
---|---|
(SQL > ★ SELF JOIN Lev2) : 20일차 연도별 대장균 크기의 편차 구하기 (0) | 2025.04.25 |
(CodingTest) : 25일차 대문자와 소문자 (0) | 2025.04.23 |
(SQL > COUNT,DISTINCT Lev2) : 19일차 중복 제거하기 (1) | 2025.04.23 |
(SQL > COUNT Lev2) : 19일차 동물 수 구하기 (0) | 2025.04.23 |