전체 글197 [Next] 프로젝트 수동 설치하기 React와 Next.js의 차이점React는 라이브러리이고 Next.js는 프레임워크이다. 라이브러리라이브러리는 코드 내에서 사용하려고 설치하는 것이지만 사용하는 주체는 사용자다. 라이브러리를 사용해서 우리가 코드 내에서 원하는 아키텍처를 사용해서 원하는 방식으로 코드를 작성할 수 있다. 파일을 어디에 저장할 지, 폴더 구조를 어떻게 할지 사용자가 모든 결정을 내린다. 예를 들어 그래프를 그리는 기능이 필요하면 우리는 라이브러리를 가져와서 해당 기능을 구현할 것이다. 이렇듯 라이브러리는 우리가 도움이 필요할 때만 가져와서 사용하는 것이다. React 또한 UI 인터페이스를 build하는데 사용하는 라이브러리이다. React가 반응형 사용자 인터페이스를 구축하는데 도움을 주지만 결국 이것에 대한 모든 결.. 🖥️Frontend/Next 2024. 8. 20. [JWT] java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter 에러 상황로그인 API를 호출하여 성공 시 JWT를 발급하는 로직을 구현하던 중 다음과 같은 에러가 발생했다. 에러 코드java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter 해결 방법Spring Boot 프레임워크 사용 시 해당 dependency를 추가로 설치해주면 에러가 해결된다.implementation 'javax.xml.bind:jaxb-api:2.3.0' 참고 사이트https://jminie.tistory.com/123 JDK 11에서 java.lang.ClassNotFoundException: javax.xml.bind.DatatypeConverter 에러🚨 에러 발생 로그인 API에서 JWT를 이용해서 회원 인증을 구.. 🛠️Backend/오류해결 2024. 8. 20. [JavaScript] 제일 작은 수 제거하기 문제정수를 저장한 배열 arr에서 가장 작은 수를 제거한 배열을 반환하는 함수를 작성하라. 단, 반 하려는 배열이 빈 배열인 경우엔 [-1]을 반환한다. 조건 • arr는 길이 1 이상인 배열이다. • 인덱스 i, j에 대해 i != j면, arr[i] != arr[j]이다. 예시arrreturn[4, 3, 2, 1][4, 3, 2][10][-1] 나의 풀이function solution(arr) { const min = arr.indexOf(Math.min(...arr)); arr.splice(min, 1); return arr.length ? arr : [-1];} 풀이 방법먼저 indexOf()와 Math.min() 함수를 사용해서 제일 작은 값의 index를 구해온다. .. 🧬알고리즘/Programmers 2024. 8. 20. [JavaScript] 정수 제곱근 판별 문제임의의 양수 n에 대해, n이 어떤 양의 정수 x의 제곱인지 아닌지 판단하려고 한다. n이 양의 정수 x의 제곱근이라면 x+1의 제곱을 리턴하고, n이 양의 정수 x의 제곱근이 아니라면 -1을 리턴하는 함수를 작성하라. 예시nreturn1211443-1 나의 풀이const solution = n => Math.sqrt(n) % 1 === 0 ? Math.pow(Math.sqrt(n)+1, 2) : -1; 풀이 방법먼저 Math.sqrt() 함수를 사용해서 제곱근인지 아닌지 판단한다. 제곱근이라면 양의 정수 값을 반환하고, 제곱근이 아니라면 실수 값이 반환된다. 만약 1로 나눈 나머지가 0이라면 해당 정수가 제곱근이라고 판단한다. x가 양의 정수 n의 제곱근이라면 Math.pow()와 Math... 🧬알고리즘/Programmers 2024. 8. 20. [JavaScript] 자연수 뒤집어 배열로 만들기 문제자연수 n이 매개변수로 주어진다. n을 뒤집어 각 자리 숫자를 원소로 가지는 배열을 반환하는 함수를 작성하라. 예시nresult12345[5, 4, 3, 2, 1] 나의 풀이const solution = n => (n+"").split("").map(v => +v).reverse(); 다른 풀이function solution(n) { var arr = []; do { arr.push(n%10); n = Math.floor(n/10); } while (n>0); return arr;} 풀이 방법먼저 (n+"")를 사용해 자연수 n을 문자열로 바꿔주고 split() 함수를 사용해 각 자리를 원소로 하는 배열을 만들었다. 그리고 map() 함수를 사용해서 각 원소를 숫자로 변환한 .. 🧬알고리즘/Programmers 2024. 8. 19. [JavaScript] 자릿수 더하기 문제자연수 n이 매개변수로 주어진다. 자연수 n의 각 자릿수를 더한 합을 구해서 반환하는 함수를 작성하라. 예시nresult123698724 나의 풀이function solution(n) { let sum = 0; n.toString().split("").map((v) => sum += +v); return sum;} 다른 풀이function solution(n){ return (n+"").split("").reduce((acc, curr) => acc + parseInt(curr), 0);} 풀이 방법먼저 주어진 정수 n을 toString() 함수를 사용해서 문자열로 바꿔준다. 그리고 split() 함수를 사용해서 각 자릿수를 원소로 하는 배열로 변환한다. sum 변수에 각.. 🧬알고리즘/Programmers 2024. 8. 19. [JavaScript] 시저 암호 문제어떤 문장의 각 알파벳을 일정한 거리만큼 밀어서 다른 알파벳으로 바꾸는 암호화 방식을 시저 암호라고 한다. 문자열 s와 거리 n을 매개변수로 주어질 때, s를 n만큼 민 암호문을 만드는 함수를 작성하라. 조건 • 공백은 아무리 밀어도 공백이다. • "z"를 1만큼 밀면 "a"가 된다. • 문자열 s는 대문자, 소문자, 공백으로만 이루어져 있다. • s의 길이는 8000 이하이다. • n은 1이상, 25이하인 자연수이다. 예시s (문자열)n (길이)result"AB"1"BC""z"1"a""a B z" 나의 풀이function solution(s, n) { const lower = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz".spli.. 🧬알고리즘/Programmers 2024. 8. 19. [JavaScript] 문자열 다루기 기본 문제문자열 s의 길이가 4 또는 6이고, 숫자로만 구성되어 있는지 확인하는 함수를 작성하라. 예를 들어 "a234"이면 false, "1234"이면 true를 리턴하면 된다. 나의 풀이const solution = s => (s.length === 4 || s.length === 6) && !s.split("").map(v => +v).includes(NaN); 다른 풀이function alpha_string46(s){ var regex = /^\d{6}$|^\d{4}$/; return regex.test(s);} 풀이 방법먼저 정규식을 사용하는 방법을 생각했지만 정규식 사용이 아직 미숙해서 다른 방법을 생각했다. 먼저 split() 함수를 사용해 각 문자를 원소로 하는 배열로 변환해줬다. 그리.. 🧬알고리즘/Programmers 2024. 8. 16. [JavaScript] 문자열 내 마음대로 정렬하기 문제문자열로 구성된 배열 strings와 정수 n이 매개변수로 주어진다. 각 문자열의 n번째 인덱스 글자를 기준으로 오름차순 정렬한 배열을 리턴하는 함수를 작성하라. 인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치한다. 모든 strings의 원소는 소문자 알파벳으로 이루어져 있다. 예시stringsnreturn["sun", "bed", "car"]1["car", "bed", "sun"]["abce", "abcd", "cdx"]2["abcd", "abce", "cdx"] 1번 문자열 ["sun", "bed", "car"]에서 n번째 인덱스의 문자는 ["u", "e", "a"]이기 때문에 ["car", "bed", "sun"]가 리턴된다. 2번 문자열에서는 "abce.. 🧬알고리즘/Programmers 2024. 8. 13. [JavaScript] 두 정수 사이의 합 문제두 정수 a, b가 매개변수로 주어진다. 두 정수 a, b 사이의 모든 정수의 합을 리턴하는 함수를 작성하라. 단, a, b의 대소관계는 정해져있지 않다. 나의 풀이function solution(a, b) { let sum = 0; for(let i = Math.min(a,b); i 다른 풀이function adder(a, b){ var result = 0 return (a+b) * (Math.abs(a-b)+1) / 2;} 풀이 방법조건 중 a, b의 대소관계가 정해지지 않았다고 해서 Math.min() 함수와 Math.max() 함수를 사용하면 되겠다고 생각했다. 그리고 최소값부터 최대값까지 for문을 돌려 결과를 반환하면 된다고 생각했다. 다른 풀이에서는 가우스 공식을.. 🧬알고리즘/Programmers 2024. 8. 13. [JavaScript] 같은 숫자는 싫어 문제각 원소가 0부터 9까지로 이루어진 배열 arr가 매개변수로 주어진다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 한다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 한다. 예시arranswer[1, 1, 3, 3, 0, 1, 1][1, 3, 0, 1][4, 4, 4, 3, 3][4, 3] 풀이const solution = (arr) => arr.filter((v, i) => v !== arr[i+1]); 풀이 방법현재 인덱스의 value와 다음 인덱스의 value가 같지 않을 때만 값을 넣어주면 된다고 생각했다. 그래서 filter() 함수를 사용하고 같지 않을 때만 넣어주면 순서대로 넣어줄 거라고 생각헀다. [1, 1,.. 🧬알고리즘/Programmers 2024. 8. 13. [JavaScript] 2016년 문제두 수 a, b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수를 작성하라. 나의 풀이function solution(a, b) { const day = new Date(`2016-${a}-${b}`).getDay(); switch (day) { case 0: return "SUN"; case 1: return "MON"; case 2: return "TUE"; case 3: return "WED"; case 4: return "THU"; case 5: return "FRI"; case 6: return "SAT"; }}; 다른 풀이function getDayName(a, b) { var tempDate = new Date(2016, .. 🧬알고리즘/Programmers 2024. 8. 13. 이전 1 2 3 4 5 6 7 8 ··· 17 다음