자바스크립트 splice , reverse , flat
splice 참고자료 JavaScript - 배열 splice() 사용법 및 예제 구문 자바스크립트의 splice 함수는 원본 배열에 새로운 요소를 추가하거나 기존요소를 삭제 또는 교체하여 원본 배열을 변경 하고 제거된 배열을 반환합니다. array.splice(start[, deleteCount[, item1[, ite tocomo.tistory.com 위 자료를 보고 공부한 글 입니다. Splice 1. 요소를 제거하지 않고 2번 index에 '아무무', '알리스타' 추가 splice의 파라미터는 (타겟 index, 제거할 요소 수, 추가할 요소) 로 구성된다. 다음예제는 index 2 부터 시작되는데 요소가 추가되면 해당 index 요소를 밀어내고 추가되는 요소가 들어간다. const LOL = [..
다른분 레포 코드를 뜯어볼때 초기커밋으로 되돌아가는 방법
최근에 내가 구현하고 싶은 기능과 유사한 프로젝트를 찾을 수 있었다. 하지만 이미 완성이 된 프로젝트이기 때문에 코드를 전부 이해하는데 어려움이 있었다. 그래서 처음부터 차근차근하게 코드를 뜯어보고 싶었다. 보통 git reset 을 사용하면 해당 커밋으로 돌아갈 수 있는데 돌아가지가 않았다. 뭐가 원인인지 잘 모르겠었다. git reset [돌아가고 싶은 commit hash값] 그래서 채팅방에 질문을 드렸다. git reset 명령어는 정상적으로 실행이 되었지만, 아래 코드를 실행시켜주어야지만 해당 코드로 돌아갈 수 있다. git add . git reset --hard 비록 익명이지만 답변주신 분께 너무 감사하다고 말씀드리고 싶다.
[프로그래머스/JS] 문자열 내 마음대로 정렬하기
문제링크 코딩테스트 연습 - 문자열 내 마음대로 정렬하기 문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 ["sun", "bed", "car"]이고 n이 1이면 각 단어의 인덱 programmers.co.kr 배운점 특정 문자를 기준으로 sort가 가능하다는 것을 배웠다. strings.sort((a,b)=>{ if(a[n]>b[n]) return 1 else if(a[n]{ if(a[n]>b[n]) return 1 else if(a[n]{ if(a[n]>b[n]){ return 1 } else if(b[n]>a[n]){ return -1 } else if(a[n]==b[n]){ if(a>b..
[프로그래머스/JS] 문자열 다루기 기본
문제링크 문제풀이 function solution(s) { let num = '1234567890' var answer = true; for (let i=0; i
[프로그래머스/JS] 소수 찾기
문제링크 코딩테스트 연습 - 소수 찾기 1부터 입력받은 숫자 n 사이에 있는 소수의 개수를 반환하는 함수, solution을 만들어 보세요. 소수는 1과 자기 자신으로만 나누어지는 수를 의미합니다. (1은 소수가 아닙니다.) 제한 조건 n은 2이상 programmers.co.kr 배운점 && 문제 풀이 에라토스테네스의 체를 다시한번 상기시켰다. function solution(n) { var answer = 0; let arr = new Array(n + 1).fill(true); for (let i = 2; i
[프로그래머스/JS] 문자열을 정수로 바꾸기
문제링크 코딩테스트 연습 - 문자열을 정수로 바꾸기 문자열 s를 숫자로 변환한 결과를 반환하는 함수, solution을 완성하세요. 제한 조건 s의 길이는 1 이상 5이하입니다. s의 맨앞에는 부호(+, -)가 올 수 있습니다. s는 부호와 숫자로만 이루어져있습니 programmers.co.kr 배운점 이 문제에서 '-' 부호는 첫번째 문자열에 있기때문에 첫번째 문자열이 '-' 인지 아닌지로 if 문을 처리하여 풀려고 했다. 하지만 자바스크립트에서는 Number 나 문자열 앞에 + 를 붙여주면 형변환이 이루어진다는 것을 다시 상기시켰다. let a = "-1234"; let b = "-1234"; console.log(Number(a)); // -1234 console.log(+b); // -1234 문..
[프로그래머스/JS] 시저 암호
문제 링크 코딩테스트 연습 - 시저 암호 어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 합니다. 예를 들어 "AB"는 1만큼 밀면 "BC"가 되고, 3만큼 밀면 "DE"가 됩니다. "z"는 1만큼 밀 programmers.co.kr 배운점 자바스크립트에서 아스키코드 값을 알아내기 위해서는 charCodeAt 메소드를 사용한다. s="AB" s.charCodeAt(i) 그렇다면 아스키코드 값을 문자열로 변경할때는 어떻게 할까? 다음과 같이 fromCharCode 메소드를 사용한다. String.fromCharCode(아스키코드 변수) 자바스크립트에서 문자열에 인덱스를 주어 접근할 수 있다는 것을 다시한번 상기시켰다. let str = "STRING" c..
[프로그래머스/JS] 이상한 문자 만들기
문제링크 코딩테스트 연습 - 이상한 문자 만들기 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 programmers.co.kr 배운점 소문자 -> 대문자 element.toUpperCase() 대문자 -> 소문자 element.toLowerCase() 문제풀이 function solution(s) { var answer = ''; let ans = s.split(" ") console.log(ans) ans.map((el)=>{ el.split("").map((element,idx)=>{ if(idx%2==0){ answer+=element.toUpperCase()..
[openVidu] 카메라 권한 이슈
openVidu로 음성채팅을 구현하려고 합니다. openvidu-insecure-react 튜토리얼을 따라하고 있는데 이슈가 생겼습니다. https://docs.openvidu.io/en/stable/tutorials/openvidu-insecure-react/ openvidu-insecure-react - OpenVidu Docs From here you can search these documents. Enter your search terms below. docs.openvidu.io 크롬에서는 마이크나 캠을 사용하겠느냐라는 권한여부를 묻지 않습니다. 저만 그런건가요? 그래서 깃허브 이슈에 질문을 드렸습니다. 제가 권한을 수락하지 않아서 생긴 오류라고 합니다. 그런데 선생님! 권한여부를 묻지 않는다..
반복해서 코드를 쳐봐야 할 것들
최대공약수 const getGcd = (a,b) => (b>0 ? getGcd(b,a%b) : a) 순열 function permutation(arr, selectNum) { let result = []; if (selectNum === 1) return arr.map((v) => [v]); arr.forEach((v, idx, arr) => { const fixer = v; const restArr = arr.filter((_, index) => index !== idx); const permuationArr = permutation(restArr, selectNum - 1); const combineFixer = permuationArr.map((v) => [fixer, ...v]); result.p..