728x90
KDT 실무형 스프링 백엔드 엔지니어 양성과정 6기 | Algorithm CODEKATA
🔁 문자열을 정수로 바꾸기
🏷 관련 주제 : 형 변환 문자열 정수
문제 설명
문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요.
제한 조건
s의 길이는 1 이상 5이하입니다.s의 맨앞에는 부호(+, -)가 올 수 있습니다.s는 부호와 숫자로만 이루어져있습니다.s는 "0"으로 시작하지 않습니다.
입출력 예
예를들어 str이 "1234"이면 1234를 반환하고, "-1234"이면 -1234를 반환하면 됩니다.
str은 부호(+,-)와 숫자로만 구성되어 있고, 잘못된 값이 입력되는 경우는 없습니다.
✔ Solution with Integer.valueOf()
class Solution {
public int solution(String s) {
int answer = Integer.valueOf(s);
return answer;
}
}
채점 결과

💥 오늘 만난 문제 & 나의 시도 💦 & 해결 방법 👍
📌 오늘 만난 문제 : 문자열 s를 숫자로 변환한 결과를 반환하시오.
처음에 문자열 앞에 '+' 또는 '-'가 올 수 있다고 해서charAt()으로 첫 문자를 가져와서 조건문으로 양수, 음수를 체크한 후에substring()으로 부호를 뺀 부분을 잘라내서 숫자로 변환 후,
곱하기 -1을 해주거나 해주지 않는 코드를 썼는데
class Solution {
public int solution(String s) {
int answer = 0;
char c = s.charAt(0);
if (c == '-') {
return Integer.valueOf(s.substring(1, s.length())) * -1;
} else if (c == '+') {
return Integer.valueOf(s.substring(1, s.length()));
}
return Integer.valueOf(s);
}
}
채점 결과
다시 코드를 보니 Integer.valueOf()가 부호도 그대로 변환할 수 있지 않을까? 하는 생각이 들어서
그냥 써 봤는데 됨!!! 🤓‼
그래서 코드가 엄청 간단해졌다.
class Solution {
public int solution(String s) {
int answer = Integer.valueOf(s);
return answer;
}
}
💬 무엇을 새롭게 알았는지
Integer.valueOf()는 부호도 알아서 판단하고 문자열을 숫자로 변환해 준다는 것을 알게되었다.
📚 References(참고 자료)
728x90