본문 바로가기

전체 글283

[TIL] 2023.07.27 Programmers_수열과 구간 쿼리 3 수열과 구간 쿼리 3 문제 설명 정수 배열 arr와 2차원 정수 배열 queries이 주어집니다. queries의 원소는 각각 하나의 query를 나타내며, [i, j] 꼴입니다. 각 query마다 순서대로 arr[i]의 값과 arr[j]의 값을 서로 바꿉니다. 위 규칙에 따라 queries를 처리한 이후의 arr를 return 하는 solution 함수를 완성해 주세요. 입출력 예 arr queries result [0, 1, 2, 3, 4] [[0, 3],[1, 2],[1, 4]] [3, 4, 1, 0, 2] 각 쿼리에 따라 arr가 다음과 같이 변합니다. arr [0, 1, 2, 3, 4] [3, 1, 2, 0, 4] [3, 2, 1, 0, 4] [3, 4, 1, 0, 2] 따라서 [3, 4, 1,.. 2023. 7. 28.
[TIL] 2023.07.27 Programmers_주사위 게임 2 주사위 게임 2 문제 설명 1부터 6까지 숫자가 적힌 주사위가 세 개 있습니다. 세 주사위를 굴렸을 때 나온 숫자를 각각 a, b, c라고 했을 때 얻는 점수는 다음과 같습니다. 세 숫자가 모두 다르다면 a + b + c 점을 얻습니다. 세 숫자 중 어느 두 숫자는 같고 나머지 다른 숫자는 다르다면 (a + b + c) × (a2 + b2 + c2 )점을 얻습니다. 세 숫자가 모두 같다면 (a + b + c) × (a2 + b2 + c2 ) × (a3 + b3 + c3 )점을 얻습니다. 세 정수 a, b, c가 매개변수로 주어질 때, 얻는 점수를 return 하는 solution 함수를 작성해 주세요. 입출력 예 a b c result 2 6 1 9 5 3 3 473 4 4 4 110592 입출력 예 #.. 2023. 7. 27.
HTTP 통신 HTTP 메시지 공통 구조 메시지 헤더 서버와 클라이언트가 꼭 처리해야 하는 내용과 속성 개행 문자 메시지 바디 꼭 전송되는 데이터 그 자체 메시지 헤더 구성 요소 리퀘스트 라인 혹은 상태 라인 리퀘스트 라인: 리퀘스트에 사용하는 메소드와 URI, HTTP 버전이 포함됨 상태 라인: 리스폰스 결과를 나타내는 상태 코드와 설명, 사용하는 HTTP 버전이 포함됨 헤더 필드: 리퀘스트와 리스폰스의 여러 조건과 속성 등을 나타냄 리퀘스트/리스폰스 헤어 필드, 일반 헤더 필드, 엔티티 헤더 필드 등 인코딩으로 전송 효율을 높이다 HTTP로 데이터를 전송할 때 인코딩(변환)을 하면 전송 효율을 높일 수 있음 메시지: HTTP 통신의 기본 단위로 8비트로 구성되고 통신을 통해 전송됨 엔티티: 리퀘스트랑 리스폰스의 페.. 2023. 7. 21.
[TIL] 2023.07.15 Programmers_l로 만들기 l로 만들기 문제 설명 알파벳 소문자로 이루어진 문자열 myString이 주어집니다. 알파벳 순서에서 "l"보다 앞서는 모든 문자를 "l"로 바꾼 문자열을 return 하는 solution 함수를 완성해 주세요. 입출력 예 myString result "abcdevwxyz" "lllllvwxyz" "jjnnllkkmm" "llnnllllmm" 입출력 예 #1 0 ~ 4번 인덱스의 문자 "a","b","c","d","e"는 각각 "l"보다 앞서는 문자입니다. 따라서 "l"로 고쳐줍니다. 그 외의 문자는 모두 "l"보다 앞서지 않는 문자입니다. 따라서 바꾸지 않습니다. 따라서 "lllllvwxyz"을 return 합니다. 입출력 예 #2 0번, 1번, 6번, 7번 인덱스의 문자 "j","j","k","k"는.. 2023. 7. 15.
HTTP 프로토콜의 구조 HTTP는 클라이언트와 서버 간에 통신을 한다 클라이언트는 텍스트, 이미지 등과 같은 리소스가 필요하다고 요구하고 서버가 이 리소스를 제공함 리퀘스트와 리스폰스를 교환하여 성립 클라이언트는 서버에 리퀘스트(Request)를 보내고, 서버는 리스폰스(Response)로 응답한다. GET /index.html HTTP /1.1 Host: www.hackr.jp 리퀘스트 메시지는 메소드, URI, 프로토콜 버전, 옵션 리퀘스트 헤더 필드, 엔티티로 구성됨 HTTP 서버 상에 있는 “index.html” 리소스가 필요하다는 리퀘스트 GET: 서버에 요규하는 종류 (메소드) index.html: 리퀘스트 URI로서 요구 대상인 리소스를 나타냄 HTTP /1.1: HTTP 버전 번호 HTTP /1.1 200 OK .. 2023. 7. 13.
웹과 네트워크의 기본 웹은 HTTP로 나타낸다 HTTP (HyperText Transfer Protocol) 웹 문서 전송 프로토콜 HTTP/1.1 버전이 현재 가장 많이 사용되고 있음 네트워크의 기본은 TCP/IP 프로토콜이란? 서로 다른 하드웨어와 운영체제 등을 가지고 서로 통신을 하기 위해 필요한 규칙 TCP/IP란? 인터넷과 관련된 프로토콜 집합의 총칭 TCP/IP 계층화의 장점 사양이 변경되었을 때 해당 계층만 바꾸면 된다. 각 계층 별로 내부 설계를 편하게 할 수 있다. 애플리케이션 계층 ⇒ 트랜스포트 계층 ⇒ 네트워크 계층 ⇒ 링크 계층 송신 측은 애플레이케이션 계층에서부터 내려가고, 수신 측은 반대로 애플리케이션 계층으로 올라감 각 계층을 거칠 때는 반드시 헤더에 해당 계층마다 필요한 정보를 추가함 반대로 수신.. 2023. 7. 13.
[TIL] 2023.07.04 Vercel 배포 후 CORS 에러 해결하기 Access to XMLHttpRequest at 'http://localhost:3000/api/service' from origin 'https://test.vercel.app' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. dev 환경에서는 아무 문제 없었는데 Vercel로 배포한 후에 데이터를 조회화면서 CORS 에러가 발생했다. const getResvData = () => { return axios .get('http://localhost:3000/api/reservation') .then((res) => { return res.data.dat.. 2023. 7. 4.
[TIL] 2023.07.03 Programmers_배열의 원소만큼 추가하기 배열의 원소만큼 추가하기 문제 설명 아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 양의 정수 배열 arr가 매개변수로 주어질 때, arr의 앞에서부터 차례대로 원소를 보면서 원소가 a라면 X의 맨 뒤에 a를 a번 추가하는 일을 반복한 뒤의 배열 X를 return 하는 solution 함수를 작성해 주세요. 입출력 예 arr result [5, 1, 4] [5, 5, 5, 5, 5, 1, 4, 4, 4, 4] [6, 6] [6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6, 6] [1] [1] 나의 풀이 function solution(arr) { let answer = []; for (const num of arr) { answer = [...answer, ...Array(num).fill(.. 2023. 7. 4.
[TIL] 2023.07.01 Next.js_router.push와 router.replace의 차이점 useRouter import { useRouter } from 'next/navigation'; Next.js 13부터는 `useRouter`를 'next/router'가 아닌 'next/navigation'에서 import 해서 사용해야 한다! 만약 `useRouter`를 'next/router'에서 import하면 이미지와 같은 에러가 발생한다. 잠시 router 관련 Next.js 13에서 달라진 점을 살펴보자. Migrating from the pages directory: The new useRouter hook should be imported from `next/navigation` and not `next/router` The pathname string has been removed a.. 2023. 7. 1.
[TIL] 2023.06.30 Programmers_간단한 식 계산하기 간단한 식 계산하기 문제 설명 문자열 binomial이 매개변수로 주어집니다. binomial은 "a op b" 형태의 이항식이고 a와 b는 음이 아닌 정수, op는 '+', '-', '*' 중 하나입니다. 주어진 식을 계산한 정수를 return 하는 solution 함수를 작성해 주세요. 입출력 예 binomial result "43 + 12" 55 "0 - 7777" -7777 "40000 * 40000" 1600000000 입출력 예 #1 예제 1번의 binomial은 "43 + 12"로 이 식을 계산한 결과인 43 + 12 = 55를 return 합니다. 입출력 예 #2 예제 2번의 binomial은 "0 - 7777"로 이 식을 계산한 결과인 0 - 7777 = -7777을 return 합니다... 2023. 6. 30.