본문 바로가기

전체 글178

[백준] 괄호 추가하기 3 JS풀이 문제링크: https://www.acmicpc.net/problem/16639 길이가 N인 수식이 있다. 수식은 0보다 크거나 같고, 9보다 작거나 같은 정수와 연산자(+, -, ×)로 이루어져 있다. 곱하기의 연산자 우선순위가 더하기와 빼기보다 높기 때문에, 곱하기를 먼저 계산 해야 한다. 수식을 계산할 때는 왼쪽에서부터 순서대로 계산해야 한다. 예를 들어, 3+8×7-9×2의 결과는 41이다. 수식에 괄호를 추가하면, 괄호 안에 들어있는 식은 먼저 계산해야 한다. 예를 들어, 3+8×7-9×2에 괄호를 (3+8)×7-(9×2)와 같이 추가했으면, 식의 결과는 59가 된다. 중첩된 괄호도 사용할 수 있고, 괄호 안에 여러 개의 연산자가 들어 있어도 된다. 즉, 3+((8×7)-9)×2, 3+((8×7).. 2024. 2. 26.
[프로그래머스] 가장 긴 팰린드롬 https://school.programmers.co.kr/learn/courses/30/lessons/12904# 풀이 abbc, abcba 인 경우를 잘 살펴보면 첫번째는 b와 바로 다음 b가 같으므로 펠린드롬 시작, 두번째는 b와 다다음 b가 같아서 펠린드롬이 시작한다. 정리하자면 s 왼쪽부터 순회하면서 현재 = 현재의 다음 혹은 현재 = 현재의 다음다음인 경우에만 팰린드롬 가능성이 있는지 확인하면 된다 s.length-2까지 순회하며 펠린드롬이 가능한 경우를 찾는다 현재 = 다음 인 경우 getPalinLen를 구한 뒤 바로 이전의 result와 max 비교 현재 = 다음다음 인경우 getPalinLen + 1와 이전의 result비교한다 (1은 중간에 낀 문자) getPalinLen은 팰린드롬을.. 2024. 2. 22.
[프로그래머스] 단속 카메라 https://school.programmers.co.kr/learn/courses/30/lessons/42884 첫번째 풀이 // 한번은 만나게 최소 몆대 설치해야함? function solution(routes) { // 빨리 나간 순으로 정렬 routes.sort((a, b) => a[1] - b[1]); const camera = [routes[0][1]]; // 첫번째 카메라 for (let i = 1; i < routes.length; i++) { const [start, end] = routes[i]; // 이전의 카메라를 만난적 없음 카메라 추가 if (!isMet(start, end, camera)) { camera.push(end); } } return camera.length; } f.. 2024. 2. 21.
비동기 함수가 예상한 값 대신에 Promise { <pending> }을 반환하는 이유 만약 비동기 함수가 예상한 값 대신에 Promise { }을 반환한다면, 이는 해당 프로미스가 아직 처리되지 않았음을 의미합니다. 이러한 상황은 주로 비동기 작업을 제대로 처리하지 않았을 때 발생하는데 비동기 함수가 보류 중인 프로미스를 반환하는 일반적인 이유는 다음과 같습니다 1. await 키워드의 누락한 경우 async 함수를 사용할 때 프로미스와 함께 await 키워드를 사용하여 프로미스가 처리될 때까지 기다려야 합니다. await 없이 함수를 호출하면 즉시 보류 중인 프로미스가 반환됩니다. async function myAsyncFunction() { const result = await someAsyncOperation(); return result; } 2. 프로미스를 반환하지 않은 경우 비.. 2024. 2. 19.
네트워크 보안 Network security 네트워크 보안의 4가지 요소 1. confidentiality: 기밀성, 센더와 리시버의 통신 내용을 제 3자가 알아서는 안된다 2. authentication: 인증, 상대방이라는걸 확신할 수 있어야 한다 3. message integrity: 중간에 메시지 변경이 일어나면 안된다 4. access and availability: 데이터 통신은 24시간 내내 누구에게나 이루어 질 수 있어야 한다 - 하지만 이런 요소들은 OSI 계층 어디에도 포함되어 있지 않음, 새로운 문제가 생길때마다 각각 계층에 필요한 패치를 추가하는 방식으로 보안을 구축하고 있음 - Wireshark 툴을 사용하면 IP패킷의 sour, desc와 TCP 세크먼트의 헤더, 메시지 다 보임(HTTPS는 .. 2024. 2. 16.
멀티미디어 네트워크 Multimedia networking - 어떻게 유튜브 같은 멀티 미디어 서비스가 동작하는지 공부 - 아날로그 => 디지털화 오디오 멀티미디어 서비스가 제공하는 첫번째 기능: 오디오 - 아날로그 시그널을 디지털 신호로 변환하는 작업을 sampling 이라고 함 - 자연스러운 소리를 정영화된 비트로 변환하는 작업 - 샘플링 주기를 짧게하면 짧게할수록, 샘플링 할때 비트수가 많으면 많을수록 더 완벽하게 아날로그 소리와 같아짐 - 1초에 나타내는 비트 양: CD는 1.411 Mbps, MPS는 96, 128, 160 kbps, CD가 더 고음질 - coding rate가 높을수록 음질이 좋음 비디오 - 비디오는 이미지의 연속, 초당 나타내는 이미지 횟수가 많을수록 고화질 - 각 이미지는 프레임이라고 한다, .. 2024. 2. 16.