728x90
반응형
SMALL
너무 쉽게 푼 문제라 정리안하고 넘어가려고 했는데
다른 사람 풀이를 보고 감동을 먹어서 블로그에 끄적끄적 하는 중...
솔직히 저는 너무 단순해서
import java.util.*;
class Solution {
public int solution(String s) {
s= s.replace("one", "1");
s= s.replace("two", "2");
s= s.replace("three", "3");
s= s.replace("four", "4");
s= s.replace("five", "5");
s= s.replace("six", "6");
s= s.replace("seven", "7");
s= s.replace("eight", "8");
s= s.replace("nine", "9");
s= s.replace("zero", "0");
return Integer.parseInt(s);
}
}
이렇게 풀었는데 살짝 현타가 오더라구요
출제자는 이런 답을 원하지 않았을 것 같은데;;
어쨌든 틀린 답은 아니여서 다른 사람 풀이를 구경했는데
와우
class Solution {
public int solution(String s) {
String[] strArr = {"zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};
for(int i=0; i<strArr.length; i++)
s = s.replaceAll(strArr[i], Integer.toString(i));
System.out.println(s);
return Integer.parseInt(s);
}
}
솔직히 알고 보면 딱 보이는 답인데, 너무 단순하게 풀려고만 해서 안보였던 방법인 것 같아요 (코린이의 변명)
이 문제를 풀면서 저의 단점이 나와버렸슴니다
정답에 집중하면 안되고 방법에 집중을 해야되는데 머리를 안굴렸네요
각각 문자열을 자리 순번에 맞게끔 배열에 넣은 뒤
for 문을 통해 배열의 순서에 따라 s 문자열을 replaceAll 해버려서 문자로 변환시켜버리고
마지막 return에서 숫자로 변환!
저두 이렇게 깔끔하게 코딩을 하고싶어요...
코테고수가 될때까지 포기하지말자
출처
프로그래머스 - https://school.programmers.co.kr/learn/courses/30/lessons/81301
728x90
반응형
LIST
'코딩 테스트' 카테고리의 다른 글
프로그래머스) 예산 Lv1 (0) | 2024.02.07 |
---|---|
프로그래머스) 키패드 누르기 Lv1 (0) | 2024.02.07 |
프로그래머스) 약수의 개수와 덧셈 Lv1 (2) | 2024.02.06 |
프로그래머스) 두 개 뽑아서 더하기 Lv1 (0) | 2024.02.06 |
프로그래머스) K번째 수 Lv1 (0) | 2024.02.05 |