목록전체 글 (114)
DEVLOG
정수를 다루는 문제는 두가지 방법으로 해결할 수 있다. (1) 정수를 문자열로 변환하여 작업 (2) 정수자체로 계산하여 작업 이번에는 두가지 모두 해보았다. (1) 정수를 문자열로 변환하여 작업 function solution(n) { return String(n).split('').reverse().map((i)=>parseInt(i)); } 깔끔하게 한줄로 표현할 수 있지만 메소드를 잘 알아야 한다는 단점이있다. reverse까지는 하겠는데 각 배열의 값을 정수로 바꾸는 방법을 모르겠어서 결국 찾아보고서야 해결할 수 있었다.ㅠ,ㅠ (2) 정수자체로 계산하여 작업 function solution(n) { var answer=[]; var temp = n; for(var i=1; i
이전에 문자열을 내림차순으로 배치하는것을 해본적이 있다. 그건 아주아주아주 쉽게 해결할 수 있었지만.. 이번엔 입력값이 정수여서 살짝 더 해주어야하는 작업이 있다. function solution(n) { return Number(String(n).split('').sort((a,b)=>b-a).join('')); } split은 String관련 메소드이기때문에 입력받은 정수를 문자열로 변환하여 작업한 뒤 다시 정수를 반환해야하기 때문에 이를 정수로 변환해야한다. function solution(n) { return +((n+'').split('').sort((a,b)=>b-a).join('')); } 같은 느낌이지만 다른 표현으로 이런식으로 표현할 수도 있다. String()으로 문자열로 변환하는 것을..
tip num이 1인경우 while문에 진입하지 못하도록 막아야 num이 1일때도 정상적으로 작동한다. 그렇지 않으면 다 통과하더라도 1 케이스에서만 실패한다. function solution(num) { var cnt=0; if(num === 1) return 0; while(1){ num%2==0?num/=2:num=num*3+1; if(cnt>=500) return -1 cnt++; if(num === 1) return cnt; } } function solution(num) { var cnt=0; while(num !== 1 && cnt
function solution(arr) { var sum=0; for(var i in arr){ sum+=arr[i]; } return sum/arr.length; } 쉽게 해결했지만.. 어딘가 모르게 쓸데없이 길어보이는 코드 ㅠ,.ㅠ 다른사람들 코드를 보고 reduce메소드를 활용해보고싶어서 시도해보았다. function solution(arr) { return arr.reduce((a,b)=>a+b)/arr.length; } 굳굳...ㅠㅠㅠㅠㅠㅠㅠㅠㅠㅠ