본문 바로가기

SMALL

Develop_story/programmers(알고리즘 문제)

(14)
React Query 412 error (1) code 작성 실수 1) 문제점 delete api를 구현할 때 생긴 문제 const queryClient = useQueryClient(); const mutation = useMutation(addPost, { onSuccess: () => { queryClient.invalidateQueries('posts') }, onError: () => { navigate('/'); } }) // 삭제 버튼 const deleteButton = (id) => { if (window.confirm('정말 삭제하시겠습니까?') === true) { deletePost(id); navigate('/'); mutation.mutate('posts') // 이 부분이 문제인 것 같음 } else { return } }; mutation...
programmers 문자열 내 p와 y 개수 1. 대문자와 소문자 구분이 없으므로 문자열을 모두 대문자 혹은 소문자로 변경 (upperS로 선언) 2. y의 개수와 p의 개수를 담는 변수 선언 3. for문 배열을 돌면서 upperS의 i번째가 p면 pCnt에 1을 더해주고, y인 경우 yCnt에 1을 더해줌 4. pCnt와 yCnt의 값이 같으면 true 반환, 아닌 경우 false 반환 function solution(s){ var answer = true; let upperS = s.toLowerCase();// 모두 소문자로 변환하여 할당 let pCnt = 0;// p의 개수 담는 변수 let yCnt = 0;// y 개수 담는 변수 for(let i = 0; i < upperS.length; i++) { if(upperS[i] == "p..
programmers 내적 1. for문으로 a의 i 번째와 b의 i번째를 서로 곱하는 값을 answer 에 넣고 answer = answer + ...사용 function solution(a, b) { var answer = 0; for(let i = 0; i < a.length; i++) { answer = answer + a[i] * b[i] } return answer; }
programmers 나누어 떨어지는 숫자 배열 1. 오름차순으로 정렬한 배열을 반환하기 때문에 배열을 오름차순으로 정렬 2. for 반복문으로 arr를 돌며 divisor로 나누었을 때 나머지가 0인 경우 answer 에 push 3. 나머지가 0이 아닌 경우 -1 을 push function solution(arr, divisor) { var answer = []; arr.sort(function(a, b) { return a - b; });// 오름차순으로 정렬 for(let i = 0; i < arr.length; i++) { if(arr[i] % divisor === 0) {// arr를 돌며 i번째가 divisor로 나누어 0일 때 answer.push(arr[i]);// answer에 넣어준다 } else { answer.push(-1)/..
programmers 부족한 금액 계산하기 1. totalprice 변수를 선언 2. for문으로 totalPrice에 값 구해주기 3. totalPrice가 money보다 크면 totalPrice - money 반환 아니면 0 반환 function solution(price, money, count) { var answer = -1; let totalPrice = 0; for(let i = 1; i
programmers x만큼 간격이 있는 n개의 숫자 1. x에 x를 push하는 for문 만들기 2. i가 n번 작동하는 함수 3. x가 x만큼 증가하는 함수 첫 번째 시도 function solution(x, n) { var answer = []; for(let i = 0; i < n; i++) { answer.push(x);// answeer에 x를 넣어주고 x = x + x;// x에 x를 더해준다 } return answer; } - x가 증가한 값이 반영되어 실행한 결괏값 [2,4,8,16,32]이 기댓값 [2,4,6,8,10]과 다릅니다. 의 문제 생김 두 번째 시도 function solution(x, n) { var answer = []; let plus = x; for(let i = 0; i < n; i++) { answer.push(x)..
programmers 핸드폰 번호 가리기 1. for문으로 (phone_number 길이 - 4)를 조건으로 반복문 종료하기 2. 문자열의 첫 번째를 '*'로 치환하는 함수 찾아 반복문에 넣어보기 첫 번째 시도 function solution(phone_number) { var answer = ''; for(let i = 0; i < phone_number.length - 4; i++) { phone_number[i] = '*'; //치환이 되지 않음 } return phone_number; } - 치환되는지 확인해봤는데 되지 않음 - replace, substr 등으로 문자열을 치환할 방법을 찾아보았지만 찾지 못함 두 번째 시도 function solution(phone_number) { for(let i = 0; i < phone_numbe..
programmers 평균 구하기 첫 번째 시도 1. arr배열 안의 수를 모두 더하는 for문 작성 -> sum 변수에 할당 2. 모두 더한 값을 arr의 길이로 나누어 값 return function solution(arr) { let sum = 0; for(let i = 0; i < arr.length; i++) { sum = sum + arr[i]; } return sum; } for문 안에 arr의 갯수만큼 나누어주는 방법을 사용하고 싶었지만, 방법을 찾지 못해 실패하였음 두 번째 시도 function solution(arr) { var answer = 0; let sum = 0; for(let i = 0; i < arr.length; i++) { sum = sum + arr[i]; } answer = sum / arr.leng..

LIST