본문 바로가기

Javascript 알고리즘 문제 - 17번부터 28번까지 17. 문자열 다루기 기본 나의 풀이(코드 실행은 되는데, 제출 후 채점하면 정확성이 87.5) function solution(s){ // 1. 문자열 s의 길이가 4 또는 6인지 검사 // 2. 문자열 s에 숫자가 아닌 값이 하나라도 있는지 검사 let num = 0; /* 1. 문자열 s의 길이가 4 또는 6이면 문자열 s의 내용 확인. */ if(s.length == 4||6){ /* 2. 문자열 s에 숫자가 아닌 값이 하나라도 있는지 검사 */ for(let i=0; i { // 배열 arr의 각 원소 element에 대하여 if (isNaN(element)){ // 만약 어떤 원소가 숫자가 아니면 반환할 값은 false answer = false; } }); } return answer; } ..
칩은 네모난데 웨이퍼는 왜 둥글까? 컴퓨터 과학 공부를 위해 을 읽다가, 칩(Chip) 제조 과정에 의문 하나가 생겼습니다. 먼저 칩이란 수많은 논리게이트를 연결한 회로이며, 마이크로칩(Microchip) 또는 집적 회로 (IC, Integrated Circuits)라고도 합니다. 칩은 실리콘으로 만들어진 판 위에 모든 소자와 배선이 놓여있는 형태입니다. 칩은 가로세로 길이가 1cm 정도이고, 지름이 약 30cm인 원형 웨이퍼(Wafer) 위에서 한꺼번에 제조됩니다. 웨이퍼는 잘려서 각 칩으로 나뉘고, 칩은 하나씩 패키징 됩니다. 일반적인 칩은 칩보다 더 큰 패키지의 중앙에 장착되어 시스템의 나머지 부분과 연결됩니다. 여기서 의문이 들었습니다. 칩은 가로세로 1cm 정도로 정사각형인데, 웨이퍼는 지름이 약 30cm인 원형입니다. 원형 판 ..
Javascript 알고리즘 문제 - 9번부터 16번까지 문제 9번) 평균 구하기 문제 설명 정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요. 제한 사항 arr은 길이 1 이상, 100 이하인 배열입니다. arr의 원소는 -10,000 이상 10,000 이하인 정수입니다. 입출력 예 arr return [1,2,3,4] 2.5 [5,5] 5 풀이 function solution(arr) { let avg = 0; let sum = 0; for(i=0; i
JWT와 API 이번 주에 개발 공부를 하며 제가 집중한 키워드는 JWT와 API입니다. 사실 JWT와 API는 이전 포스트에도 소개했었는데요, 복습하는 차원에서 다시 한번 작성해볼게요. JWT JWT(Json Web Token)은 인증에 필요한 정보들을 암호화시킨 토큰*을 말합니다. * 토큰: 프로그래밍 언어에서 토큰이란, 문법적으로 더 이상 나눌 수 없는 기본적인 언어 요소를 말합니다. 예를 들어, 하나의 키워드나 연산자 또는 구두점 등이 토큰이 될 수 있습니다. 네트워크에서 말하는 토큰이란, 토큰링 네트워크를 따라 돌아다니는 일련의 특별한 비트열입니다. 컴퓨터들은 네트워크를 따라 순환하는 토큰을 자신이 잡았을 때만 네트워크에 메시지를 보낼 수 있습니다. 각 네트워크에는 토큰이 딱 하나만 있으므로 두 개 이상의 컴퓨..
Quick Sort(퀵 정렬) - 가장 효율적인 오름차순 정렬법 알고리즘 문제를 풀다가 배열의 원소들을 오름차순으로 정렬해야 할 필요가 생겼습니다. 원소들을 가장 작은 값부터 순서대로 나열하려면 어떻게 해야 할까요? 여러 방법들이 있지만 그중 시간 복잡도 및 공간 복잡도가 가장 낮은, 가장 효율적인 정렬법을 소개하고자 합니다. 바로 퀵 정렬(Quick Sort)입니다. 퀵 정렬 알고리즘 1. 배열의 가운데에 위치한 원소를 pivot 값으로 설정합니다. * pivot: 중심점 2. 가장 왼쪽의 값을 left, 오른쪽의 값을 right로 잡습니다. 3. left는 오른쪽으로, right는 왼쪽으로 이동하게 됩니다. 이때 left는 이동하면서 pivot보다 큰 수를 만나거나 pivot을 만나면 멈추고, right는 이동하다가 pivot보다 작은 수를 만나거나 pivot을 ..
Javascript 알고리즘 문제 - 1번부터 8번까지 Q1. 직사각형 별찍기 문제 설명 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수입니다. 입출력의 예 입력 5 3 출력 ***** ***** ***** 나의 풀이 /* 오답 처리되는 코드입니다. */ // n=가로, m=세로 function solution(n m){ // 바깥쪽 for문은 세로 방향 for(i=0; i { // 입력받은 숫자를 'data에 받는다' const a = data.split(" "); // data(입력받은 숫자)를 배열로 변경 const n = Number(a[0]), m = Number(a[1]); // n = 가로..
서버 사이드 렌더링(SSR) 및 JWT 인증 방식 서버 사이드 렌더링의 장점 렌더링이란 웹페이지가 서버에 요청해서 받은 내용(ex. HTML 파일)을 브라우저 화면에 표시하는 것을 말합니다. 서버 사이드 렌더링(SSR)은 사용자가 페이지를 이동할 때마다 새로운 페이지를 요청하여 모든 템플릿을 서버 연산을 통해 렌데링하고 완성된 페이지 형태로 응답합니다. 클라이언트 사이드 렌더링이 빈 HTML 페이지를 받아 브라우저에서 그리는 것과 다르게 서버 사이드 렌더링은 서버에서 미리 그려서 브라우저로 보내주기 때문에 페이지를 그리는 시간, 즉 초기 로딩 속도를 단축할 수 있습니다. 자바스크립트 파일을 불러오고 렌더링 작업이 완료되기 전에 사용자가 사이트 컨텐츠를 이용할 수 있게 되므로, 화면에 사용자에게 유의미한 정보가 표시되는 시간이 빨라집니다. 또한, 웹 페이..