목록기타 로직/JavaScript (7)
연습장

처음엔 0단계 58번 문제를 풀때 객체를 value 로 정렬하고 풀어보려고 했다. https://js0616.tistory.com/77 그래서 다음과 같은 글을 발견하고 적용해 봤는데 const obj = { i: 5, c: 3, b: 9, m: 0, }; // value로 오름차순 정렬 const out3 = Object.fromEntries( Object.entries(obj).sort(([,a],[,b]) => a a > b?..
프로그래머스 0단계 57.분수의 덧셈 https://js0616.tistory.com/75 최대 공약수란? 두 수를 나누었을때 나누어 떨어지는 공통의 수 중에서 가장 큰 수 이다. 예를들어 12와 18의 경우 2, 3 , 6 으로 각각 나누면 나머지가 없이 나누어 떨어진다. 그 중에서 가장 큰 수인 6이 최대 공약수가 된다. 코드로 이걸 어떻게 해결할까 ? 2-1. num1 의 약수들을 구해 배열로 만들고 2-2. 그 배열의 원소가 num2 를 나누었을때 나머지가 없다면 그 원소는 num1, num2 의 공약수가 된다. 2-3. 그리고 그 공약수 중에서 가장 큰 수가 최대 공약수가된다. // 최대공약수 const divlist = function(n,m){ let arr = [] // 2-1) n의 약수..
기본배열 let a = [1,7,20,3,400,5] console.log(a) // [ 1, 7, 20, 3, 400, 5 ] sort 를 이용한 정렬 a.sort() console.log(a) // [ 1, 20, 3, 400, 5, 7 ] 숫자데이터인데 문자처럼 정렬을 하는것을 볼 수 있다. sort 안에 (a, b) => a - b 라는 화살표함수를 넣어서 a.sort((a, b) => a - b) console.log(a) // [ 1, 3, 5, 7, 20, 400 ] 원하는 숫자의 정렬을 할 수 있다. 내림차순은 b-a 를 넣으면 된다. 이렇게 해도 정렬이 안된다면 slice 를 넣으면 되는 경우가 있다. -> 왜인지는 잘 모르겠음 -> slice() 메서드의 인수를 모두 생략하면 원본 배열..
문자열 -> 유니코드 '문자열'.charCodeAt() 유니코드 -> 문자열 String.fromCharCode('유니코드') 이를 이용한 대문자로 만드는 함수 들어온 문자가 소문자인지 확인하고 위의 메서드를 이용하여 대문자로 바꾼다. 들어온 문자가 소문자가 아니면 그대로 반환한다. 단, 특수문자, 숫자등에 대해선 적용되지않음. 입력받은 값이 대문자나 소문자 둘중 하나인걸로 제한해야한다. const UpChar = (char) => { // 2. 유니코드 변환 // charCodeAt -> 숫자 , fromCharCode -> 문자 // console.log('A'.charCodeAt()) // 65 // console.log('a'.charCodeAt()) // 97 // 32 차이가 나게 된다. if..
프로그래머스 0단계 47번째 문제중. reverse 를 사용하기 위해서 배열로 바꾸고 다시 문자열로 바꾸는 작업이 필요하다. 문자열 -> 배열 -> reverse 사용 -> 문자열 let A = 'abcde' console.log(A) // abcde let B = A.split('') // 문자열을 배열로 만든다 console.log(B) //['a', 'b', 'c', 'd', 'e'] let C = B.reverse() // 배열의 순서를 뒤집는다. console.log(C) // ['e', 'd', 'c', 'b', 'a'] let D = C.join('') // 배열을 다시 문자로 만든다. console.log(D) // edcba let AA = A.split('').reverse().join..
프래그래머스 0단계 45번 문제 중 my_string.startsWith(start) my_string 문자열이 start 문자열로 시작하는지 -> 시작한다면 : true -> 아니라면 : false 반대로 my_string.endsWith(end) my_string 문자열이 start 문자열로 끝나는지 -> 끝난다면 : true -> 아니라면 : false let my_string = "01234567" let start1 = "0123" let start2 ="123" let ans1 = my_string.startsWith(start1) console.log("ans1 결과 : ", ans1) // true let ans2 = my_string.startsWith(start2) console.log..
관련문제 : 프로그래머스 0단계 40번 , 29번 1. for 문을 이용하기 let my_string = "rermgorpsam" let queries = [[2, 3]] let my_list = [...my_string] for (let i = 0; i < queries.length; i++) { let s = queries[i][0] ; let e = queries[i][1] ; // [my_list[s], my_list[e]] = [my_list[e], my_list[s]] 단순 for 문에선 맞 바꾸기 안되는듯 let temp = 0; temp = my_list[s]; my_list[s] = my_list[e] my_list[e] = temp } console.log(my_list) // ['r'..