문제를 확인 했을 때 주어진 문자열 "one4seveneight" 에서 원하는 문자만 추출해 바꿔주면 될 것 같았다.
원하는 문자를 추출하고 바꾸기 위해 숫자와 영단어 각각의 배열을 만들어 주었다.
String[] num = {"0","1","2","3","4","5","6","7","8","9"};
String[] word = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
이제 주어진 문자열에 위의 배열 값들이 있는지 확인이 필요했고
contains로 true/false를 판단해 replace로 문자열을 바꿔주었고 마지막으로 바꾼 문자열을 숫자로 형변환을 거쳐 답을 구할 수 있었다.
for (int i=0; i<10; i++) {
if (s.contains(word[i])) {
s = s.replace(word[i], num[i]);
}
}
answer = Integer.parseInt(s);
return answer;
사실 이번 문제에 큰 어려움은 없었다.
하지만 문자열에서 원하는 문자를 변경할 수 있는 replace와 포함 여부를 확인하는 contains 등
앞으로 활용도가 높을 것 같다는 생각이 들었고 이번 기회에 사용법을 제대로 알고갈 수 있었던 것 같다.
'자바 알고리즘' 카테고리의 다른 글
[알고리즘] 프로그래머스 - JadenCase 문자열 만들기 (0) | 2023.04.30 |
---|---|
[알고리즘] 프로그래머스 - 자연수 뒤집어 배열로 만들기 (0) | 2023.02.26 |
[알고리즘] 프로그래머스 - 모의고사 (0) | 2023.02.18 |
[알고리즘] 프로그래머스 - 정수 내림차순으로 배치하기 (0) | 2023.02.16 |
[알고리즘] 프로그래머스 - 핸드폰 번호 가리기 (0) | 2023.02.15 |