프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
enum 클래스 NumStr를 생성하여 대응되는 영단어와 숫자를 저장하고,
replace() 메서드를 사용하여 영단어 NumStr.str부분을 숫자 NumStr.num으로 치환한다.
코드
import java.util.*;
class Solution {
static public enum NumStr {
ZERO("zero", 0),
ONE("one", 1),
TWO("two", 2),
THREE("three", 3),
FOUR("four", 4),
FIVE("five", 5),
SIX("six", 6),
SEVEN("seven", 7),
EIGHT("eight", 8),
NINE("nine", 9);
String str;
int num;
NumStr(String str, int num) {
this.str = str;
this.num = num;
}
}
public int solution(String s) {
for(NumStr numStr : NumStr.values()) {
s = s.replace(numStr.str, String.valueOf(numStr.num));
}
return Integer.parseInt(s);
}
}
다른 풀이 - 2
영단어 문자열만 배열로 생성하여 for문을 통해 문자열 s의 영단어 부분을 숫자로 치환한다.
import java.util.*;
class Solution {
public int solution(String s) {
String[] alphabets = {"zero","one","two","three","four","five","six","seven","eight","nine"};
for(int i = 0; i < 10; i++) {
s = s.replace(alphabets[i], String.valueOf(i));
}
return Integer.parseInt(s);
}
}
728x90
'Algorithm 문제 풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.2 : 위장 - 자바[Java] (0) | 2023.04.12 |
---|---|
[프로그래머스] Lv.1 : 완주하지 못한 선수 - 자바[Java] (0) | 2023.04.11 |
[프로그래머스] Lv.2 : [1차] 뉴스 클러스터링 - 자바[Java] (0) | 2022.11.15 |
[프로그래머스] Lv.2 : 튜플 - 자바[Java] (0) | 2022.11.09 |
[프로그래머스] Lv.2 : 배달 (그래프 최단 경로 알고리즘) - 자바[Java] (0) | 2022.11.08 |