[Algorithm] 프로그래머스 - 나머지가 1이 되는 수 찾기
2022. 7. 19. 21:53
🖥 CS/Algorithm
/* https://school.programmers.co.kr/learn/courses/30/lessons/87389 문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한사항 3 ≤ n ≤ 1,000,000 */ const solution = (n) => { let answer = []; for (let i = 0; i
[Algorithm] 프로그래머스 - 약수의 개수와 덧셈
2022. 7. 19. 21:49
🖥 CS/Algorithm
/* https://school.programmers.co.kr/learn/courses/30/lessons/77884 문제 설명 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ left ≤ right ≤ 1,000 */ /* 1. 일단 매개변수의 약수값을 구해야함 2. 약수의 개수를 알아야함 3. 약수의 개수가 홀수이면 해당 매개변수는 마이너스, 약수의 개수가 짝수이면 해당 매개변수는 플러스 4. 해서 누적시킨 값 도출 시키면 됨 */ const solution = (left, right) => { let..
[Algorithm] 프로그래머스 - 같은 숫자는 싫어
2022. 7. 19. 02:15
🖥 CS/Algorithm
/* https://school.programmers.co.kr/learn/courses/30/lessons/12906 문제 설명 배열 arr가 주어집니다. 배열 arr의 각 원소는 숫자 0부터 9까지로 이루어져 있습니다. 이때, 배열 arr에서 연속적으로 나타나는 숫자는 하나만 남기고 전부 제거하려고 합니다. 단, 제거된 후 남은 수들을 반환할 때는 배열 arr의 원소들의 순서를 유지해야 합니다. 예를 들면, arr = [1, 1, 3, 3, 0, 1, 1] 이면 [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면 [4, 3] 을 return 합니다. 배열 arr에서 연속적으로 나타나는 숫자는 제거하고 남은 수들을 return 하는 solution 함수를 완성해..
[Web] API
2022. 7. 19. 01:38
🔥 Front-End/Web
API API란 Application Programming Interface의 약자로 두 소프트웨어의 구성 요소가 서로 통신할 수 있게 하는 일종의 은행의 '창구' 역할을 하는 메커니즘입니다. API의 맥락에서 애플리케이션이라는 단어는 고유한 기능을 가진 모든 소프트웨어를 나타냅니다. 인터페이스는 두 애플리케이션 간의 서비스 계약이라고 할 수 있습니다. 이 계약은 요청과 응답을 사용하여 두 애플리케이션이 서로 통신하는 방법을 정의합니다. API 문서에는 개발자가 이러한 요청과 응답을 구성하는 방법에 대한 정보가 들어 있습니다. 즉, 소프트웨어 간 통신할 때 일종의 규약 내지는 지침입니다. API가 생성된 시기와 이유에 따라 API는 네 가지 방식으로 작동할 수 있습니다. SOAP API 이 API는 단순..
[Web] JWT
2022. 7. 19. 01:10
🔥 Front-End/Web
JWT 기반 인증 JWT 기반 인증이란 인증에 필요한 정보들을 암호화시킨 토큰을 의미합니다. JWT 기반 인증은 쿠키/세션 방식과 유사하게 JWT토큰(Access Token)을 HTTP 헤더에 실어 서버가 클라이언트를 식별합니다. JWT 구조 JWT는 .을 구분자로 나누어지는 세 가지 문자열 조합입니다. 암호화된 상태로 존재합니다. Header Header는 alg과 typ는 각각 정보를 암호화할 해싱 알고리즘 및 토큰의 타입을 지정합니다. Payload Payload는 토큰에 담을 정보를 지니고 있습니다. 주로 클라이언트의 고유 ID 값 및 필요한 정보 등이 포함되는 영역입니다. key-value 형식으로 이루어진 한 쌍의 정보를 Claim이라고 칭합니다. Signature Signature는 인코딩된..
[Algorithm] 프로그래머스 - 숫자 문자열과 영단어
2022. 7. 18. 17:44
🖥 CS/Algorithm
/* https://school.programmers.co.kr/learn/courses/30/lessons/81301 문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요. 참고로 각 숫자에 대응되는 영단어는 다..
[Algorithm] 프로그래머스 - 자연수 뒤집어 배열로 만들기
2022. 7. 18. 16:02
🖥 CS/Algorithm
/* https://school.programmers.co.kr/learn/courses/30/lessons/12932 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. */ const solution = (n) => { const answer = n // 인자값을 문자열화 시키고 .toString() // 각각 쪼갠 다음 .split('') // 순서를 뒤집고 .reverse() // map 메서드를 이용해 각 요소를 정수화 .map((a) => Number(a)); return answer; }; console.log(solution(12345));..
[Algorithm] 프로그래머스 - 문자열 내림차순으로 배치하기
2022. 7. 18. 14:08
🖥 CS/Algorithm
/* https://school.programmers.co.kr/learn/courses/30/lessons/12917 문제 설명 문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요. s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항 str은 길이 1 이상인 문자열입니다. */ const solution = (str) => { const answer = str // split 연산자로 문자열 배열로 쪼갠 다음 .split('') // 정렬시작 .sort((a, b) => { // a가 b보다 크다면 작은 순으로 정렬해 뒤쪽으로 정렬 if (a > b) { return -1; // 뒤에 있는 ..