프로그래머스 문제를 풀어봤다.
예전에 레벨 0 몇 개 풀어봤을 때 그것조차도 어려워서 엄청 오래걸렸는데
레벨 1이 혼자의 힘으로 풀리는 걸 보면서 공부에 대한 보람을 느끼는 중이다.
근데 물론 다 풀리는 건 아니고 진짜 극소수만 수월하고 나머지는 또 오래걸리긴 하지만
그래도 정답에 근접한 코드를 직접 짜는 과정이 굉장히 뿌듯하다.
오늘 한거랑 새로 배운거 그리고 실습까지 해보고 블로그 업데이트 하기
Number()를 쓰면 되지 않을까 생각했다.
제한 조건에서 s 는 부호와 숫자로만 이루어져 있고 잘못된 값이 입력되는 경우는 없다고 명시되어 있어서 Number()을 써도 제대로 실행될 것이다.
하지만 만약 제한 조건에 그런 내용이 없다면 숫자 이외의 문자가 포함되었거나 공백이 포함되었을 경우, NaN을 반환한다.
그리고 Number()을 썼을 때는 문자열을 부동소수점 수로 변환하기 때문에 정수로 변환할 필요가 있을 때는 소수점 이하를 버리는 작업이 따로 필요하다.
그렇기 때문에 부호를 포함한 문자열을 숫자로 변환할 때는 parseInt()나 parseFloat() 함수를 사용하는 것이 더 안전하다.
function solution(s) {
var answer = 0;
answer = parseInt(s)
return answer;
}
function solution(s) {
var answer = 0;
answer = s / 1
return answer;
}
하지만 가독성이 떨어지고 유지보수에도 좋지 않을 듯하다.
parseInt() 함수는 문자열을 정수로 변환하는 함수로, 두 번째 인자로 진법(base)을 지정할 수 있다. 진법을 지정하면 해당 문자열의 진법을 10진법으로 변환해서 반환한다.
includes() 메소드는 배열이나 문자열이 특정 요소나 문자열을 포함하고 있는지 확인하는 데 사용된다. 메소드 호출 시 찾고자 하는 요소나 문자열을 인자로 전달하면, 해당 요소나 문자열이 배열이나 문자열에 포함되어 있으면 true를 반환하고, 그렇지 않으면 false를 반환한다.