-
[프로그래머스] 숫자 문자열과 영단어 (2021 카카오 채용연계형 인턴십)ALGORITHM/PROGRAMMERS 2021. 7. 15. 20:51
https://programmers.co.kr/learn/courses/30/lessons/81301
2021-07-15
1) replaceAll
123456789101112class Solution {public int solution(String s) {int answer = 0;String[] alpha = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};for(int i = 0; i < alpha.length; i++) {s = s.replaceAll(alpha[i], String.valueOf(i));}answer = Integer.parseInt(s);return answer;}}cs 2) one by one
123456789101112131415161718192021222324252627282930313233343536import java.util.HashMap;import java.util.Map;public class Solution81301 {public static int solution(String s) {int answer = 0;Map<String, Integer> map = new HashMap<>();map.put("zero", 0);map.put("one", 1);map.put("two", 2);map.put("three", 3);map.put("four", 4);map.put("five", 5);map.put("six", 6);map.put("seven", 7);map.put("eight", 8);map.put("nine", 9);String ans = "";String tmp = "";for(int i = 0; i < s.length(); i++) {char ch = s.charAt(i);if('0' <= ch && ch <= '9') {ans += String.valueOf(ch);} else {tmp += s.charAt(i);if(!tmp.equals("") && map.containsKey(tmp)) {ans += String.valueOf(map.get(tmp));tmp = "";}}}answer = Integer.parseInt(ans);return answer;}}cs #문제풀이
처음에는 글자 하나씩 체크해서 단어를 찾는 방법으로 풀었다.
뭔가 더 좋은 방법이 있을 것 같아서 다른 사람의 풀이를 참고 해봤고, replaceAll이라는 것을 쓴 것을 확인해서, 그 방법으로 다시 풀어봤다.
'ALGORITHM > PROGRAMMERS' 카테고리의 다른 글
[프로그래머스] 거리두기 확인하기 (2021 카카오 채용연계형 인턴십) (0) 2021.07.19 [프로그래머스] 멀쩡한 사각형 (Summer/Winter Coding(2019)) (0) 2021.07.16 [프로그래머스] 폰켓몬 (찾아라 프로그래밍 마에스터) (0) 2021.07.15 [프로그래머스] 카카오프렌즈 컬러링북 (2017 카카오코드 예선) (0) 2021.06.27 [프로그래머스] 네트워크 (0) 2021.04.15