전체 글
-
[못풀었다/릿코드/javascript]. 567. Permutation in String코딩테스트 2023. 3. 30. 16:59
순열으로 풀었는데, 메모리에러가 났다. 굳이 순열으로 풀 필요없이 투포인터를 이용해서 풀면 된다. var checkInclusion = function (s1, s2) { if(s1.length>s2.length) return false; //s1의 길이가 더 크다면 볼것도 없으므로 false 리턴함 let left = 0; let right = 0; const neededChar = {} let neededLen = s1.length; for(let i=0;i=s1.length){ //근데 이제 s1이 s2에 연속적으로 위치해야됨. 즉 right-left===s1.length이렇게되면 //다음턴에서 right-left>s1.length이렇게 되니까 우리가 보려고 하는 window의 크기가 s1보다 커져..
-
네트워크 3CS지식/네트워크 2023. 3. 30. 07:19
패킷 스위칭 패킷:작은 블록의 패킷으로 데이터를 전송하며, 데이터를 전송하는 동안에만 네트워크 자원을 사용하는 방법. 대부분의 패킷스위치는 Store-and-foward transmission을 사용한다. Store-and-foward transmission은 패킷스위치는 첫번째 비트를 아웃바운드 링크로 보내기 전에 반드시 전체 패킷을 받아야함을 뜻한다. 슬래브의 너비는 패킷의 비트수를 나타낸다. 이 그림에서 모든 패킷의 너비가 같으므로 길이가 같다. 호스트 A와 B가 호스트 E로 패킷을 보내고자 한다면, 먼저 패킷을 100MBps이더넷 링크를 따라 첫번째 라우터로 보낸다. 그 다음 라우터는 이 패킷을 15Mbps링크로 보낸다. 라우터에 대한 패킷도착속도가 15Mbps를 초과하는 경우, 링크로 전송되기전..
-
컴퓨터 구조코드스테이츠 43기 2023. 3. 29. 22:31
CPU의 구조 산술/논리 연산장치 ->덧셈을 수행 제어장치 -> 시그널을 통해서 흐름 통제 레지스터 -> CPU 내부의 메모리 산술/논리 연산장치 산술논리연산장치(ALU)는 산술적인 연산과 논리적인 연산을 담당하는 장치이다. 가산기,보수기,누산기, 기억레지스터,데이터 레지스터 등으로 구성된다. 캐시나 메모리로부터 읽어온 데이터는 레지스터라는 CPU전용의 기억장소에 저장된다. ALU는 레지스터에 저장된 데이터를 이용하여 덧셈,곱셈과 같은 산술연상을 수행한다. 부동소숫연산장치(FPU)와 정수연산장치, 논리연산(AND,OR)장치 등이 있다. 레지스터 레지스터는 중앙처리장치 내부에 있는 기억장치이다. 두가지로 구분할 수 있는데, 다음과 같다. -범용레지스터: 주로 산술 연산 논리장치에 의해 사용된다. -전용레지..
-
[못품/릿코드/javascript] 746. Min Cost Climbing Stairs카테고리 없음 2023. 3. 29. 19:13
처음에는 cost[0],cost[1]중에 더 작은 값으로 시작해서 cost[i+1] cost[i+2] 중 작은 값을 더해나가면서 풀었는데 이런식으로 하면 답이 정확하게 나오질 않는다. 그래서 다른 사람의 풀이를 참고하였다. 이건 뒤에서부터 더해준건데, 이렇게 해서 cost배열의 0~cost.length-1까지 최소 cost를 구한것이다.(DP!) var minCostClimbingStairs = function(cost) { //뒤에서부터 비용을 더해준다. for (let idx = cost.length - 3; idx>=0; idx--) cost[idx] += Math.min(cost[idx + 1], cost[idx + 2]) //1step이나 2step중 작은 값을 더해줌. return Math.m..
-
[프로그래머스/javascript] 괄호변환카테고리 없음 2023. 3. 29. 18:08
풀이방법 우선 균형잡힌 문자열이맞는지 확인하는 코드와 올바른 문자열이 맞는지 확인하는 펑션을 작성하였습니다. 이후 올바른 문자열이 맞다면 그대로 p를 반환하고 아닐경우 u와 v로 나뉘게 됩니다. 새로운 u(newP)가 올바른 문자열이 맞다면 u+solution(v)를 반환합니다. 그렇지 않다면, 문제에 적힌대로 뒤집고 어쩌구저쩌구를 실행합니다. 🤣 //균형잡힌 문자열...이라하면... //p가 군형잡힌 문자열이라면 그대로 반환한다. //그렇지 않으면 균형잡힌문자열로 더이상 분리할수없는 u와 v나머지로 분류한다. //즉 return solution(u)+solution(v)...?? //즉 앞에서부터 잘라서, isBalanced===true인 경우를 찾음. 근데 이제 두개씩 증가해가면서 찾으면 됨. //얘..