우당탕탕 개발일기
[프로그래머스 / 자바스크립트] 없는 숫자 더하기 본문
내 담당 문제가 아니지만,
아무리 생각해도 감을 못잡겠어서 최단 시간 구글링하고 정리하는 문제 🤯
슥 봤을 때는 이렇게까지 이해가 안될 줄은 몰랐는데.. !
for문, if문이 사용되는 건 알겠는데 곱씹을수록 알쏭달쏭하다.
입출력을 보는데 느낌이 쎄해졌다.
지금까지는 입출력을 보면 어떻게 해야할 지 대충 구성이 잡히는데 요건 영 생각이 나지 않는다.
저녁먹느라 한 템포 쉬고 와서 그런가 ?
💡나의 코드💡랄 것도 없다.
for문만 만 적어두고 멍...
- 문제 그대로, 없는 값을 찾아서 그 값들의 합을 구한다.
- 0~9인 numbers의 총합인 45에서 있는 값들의 합을 뺀다.
요런 느낌으로 해보고 싶었는데
그래서.. 없는 값을 어떻게 구한다고....? 🙄
.
.
.
1시간동안 노트에 끙끙대다가 결국 구글링의 도움을..!
function solution(num) {
let answer = 0;
for(let i=0; i<10; i++){
if(!num.includes(i)) answer += i;
}
return answer;
}
이렇게 심플한데! 코드가 심플하면 심플할수록 아쉬움이 더 커진다.
조금만 더 생각했으면 됐을 수도 있는데!
💪🏻 부족한 점(밖에 없지만...) 굳이 정리해보자면
- include 함수의 존재를 찾지 못했다. 포함한다는 걸 표현하려고 찾아보았는데, 아무래도 검색어 미스인듯.
저것만 찾았어도 조금 더 팔 수 있었을텐데! - 그래,, 문제에서 9까지밖에 없다했는데 나는 왜 굳이 num.length를 고집했던 것일까.. 주입식 공부의 단점일까ㅎ..
범위를 정해주는 문제에서 잘 적용해야겠다.
그런데 'if(' 와 'num' 사이의 웬 느낌표인고하니,
자바스크립트의 논리연산자 중 NOT연산자인 (느낌표)는 입력값을 boolean으로 변환하여
값이 true이면 false로 , false이면 true로 값을 리턴합니다.
출처: https://ifuwanna.tistory.com/278 [IfUwanna IT]
그렇단다. not을 의미하는 연산자 느낌표.. 구글링하다가 또 하나 지식을 쌓았다.
생각했던 두 번째 방법은 바로 0~9까지의 총합인 45에서 있는 값들을 빼는 것.
function solution(numbers) {
return 45 - numbers.reduce((cur, acc) => cur + acc, 0);
}
사실 이게 더 복잡할 거라고 생각했는데, 코드를 보니 이게 더 심플하다? 이럴 수가 있나?
그치만 체크해야하는 함수들이 많다.. 호ㅏ이팅..
'What I Learned > Algorithm' 카테고리의 다른 글
[프로그래머스 / 자바스크립트] 수박수박수박수박수박수? (0) | 2022.01.24 |
---|---|
[프로그래머스 / 자바스크립트] 내적 (0) | 2022.01.24 |
[프로그래머스 / 자바스크립트] x만큼 간격이 있는 n개의 숫자 (0) | 2022.01.24 |
[프로그래머스 / 자바스크립트] 음양더하기 (0) | 2022.01.24 |
[프로그래머스 / 자바스크립트] 가운데 글자 가져오기 (0) | 2022.01.24 |