https://programmers.co.kr/learn/courses/30/lessons/81301
문자열에 포함된 영단어가 있을 때 이를 숫자로 바꿔주는 문제이다.
처음에는 배열로 변환해서 바꿔야 한다고 생각해서, 이걸 어떻게 배열로 바꾸지 고민했는데
문자열을 대체할 수 있는 replace를 사용해서 해당하는 문자의 값을 바꾸면 된다.
class Solution {
public int solution(String s) {
String[] arr = new String[]{"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
for (int i = 0; i < arr.length; i++) {
//포함하고 있을 경우
if (s.contains(arr[i])) {
//숫자 i로 바꿈
s = s.replace(arr[i], String.valueOf(i));
}
}
//int로 변환
int answer = Integer.parseInt(s);
return answer;
}
}
'Language > JAVA' 카테고리의 다른 글
[프로그래머스] 시저 암호 (0) | 2022.01.27 |
---|---|
#문자열 포함여부 확인, 치환 + 자주 쓰는 정규식 패턴 (0) | 2022.01.27 |
[프로그래머스] 문자열 내림차순으로 배치하기 (0) | 2022.01.27 |
[프로그래머스] 문자열 내 마음대로 정렬하기 (0) | 2022.01.26 |
#JVM(Java Virtual Machine) (0) | 2022.01.24 |