문제 출처 : https://school.programmers.co.kr/learn/courses/30/lessons/81301
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 풀이
숫자와 영단어의 조합으로 이루어진 String s가 주어졌을 때 s가 원래 의미하는 숫자를 return하는 문제로 문자열 치환으로 간단하게 할 수 있었습니다.
replace와 replaceAll이 무슨차이인지 궁금했는데 기능적으로는 똑같지만 replaceAll의 경우는 정규식을 인자로 받아 해당되는 문자열을 전부 치환한다는 차이가 있습니다. 이번 문제같은 경우에는 특정 문자열을 대체하므로 replace가 적절해 보이지만 특정 패턴이나 정규식의 문자열을 대체할 때는 replaceAll을 사용하는게 적절해 보입니다.
코드
class Solution {
public int solution(String s) {
String[] number = {"zero", "one", "two", "three", "four",
"five", "six", "seven", "eight", "nine"};
for(int i=0; i<number.length; i++) {
s = s.replace(number[i], String.valueOf(i));
}
int answer = Integer.parseInt(s);
return answer;
}
}
'Algorithm > Programmers' 카테고리의 다른 글
[Programmers] 핸드폰 번호 가리기 (Java) (0) | 2024.02.22 |
---|---|
[Programmers] 문자열 압축 (Java) (0) | 2024.02.21 |
[Programmers] 거리두기 확인하기 (Java) (0) | 2024.02.20 |
[Programmers] 양궁 대회 (Java) (0) | 2024.02.19 |
[Programmers] 미로 탈출 명령 (Java) (0) | 2024.02.12 |