목록Computer Science (26)
고딩왕 코범석
데이터를 저장하는 장치로 기억장치 혹은 저장장치로 불린다. 일반적으로 메모리라고 하면 주기억장치인 RAM을 의미한다. 위 사진은 메모리 계층구조이며 읽기와 쓰기를 하는 주체는 CPU다. CPU와 가까이 위치한 저장장치일수록 접근 시간이 빠르다. 또한, CPU는 디코딩 속도 등의 문제로 작은 크기의 메모리에 더 빠르게 접근할 수 있다. 그런 이유로 CPU와 가까이 위치할수록 더 작은 크기를 갖게 된다. 기억장치 구분 Register : 명령어, 주소, 데이터등의 임시 데이터를 저장하는 공간이고, CPU 내부에 존재하기 때문에 가장 빠른 접근시간을 갖는다. Cache : 자주 사용되는 데이터는 계속 쓰이기 때문에 이런 데이터를 굳이 RAM이나 더 접근 거리가 먼 저장 장소에 위치할 이유가 없다. 자주쓰는 데..
컴퓨터 시스템은 기계적 장치들인 하드웨어와 이 하드웨어의 동작을 지시하고 제어하는 명령어 집합인 소프트웨어로 구성되어있다. 하드웨어 하드웨어는 중앙처리장치인 CPU, 기억장치인 RAM과 HDD, 입출력 장치들로 구성되는데 그림과 같이 구성되어 진다. CPU 주기억장치에서 프로그램 명령어와 데이터를 읽어와 처리하고 명령어의 수행 순서를 제어한다. CPU는 비교와 연산을 담당하는 ALU(산술논리연산장치), 명령어의 해석과 실행을 담당하는 제어장치, 속도가 빠른 데이터 기억장소인 레지스터로 구성되어 있다. 산술논리연산장치(ALU) 산술연산(사칙연산)과 논리연산(AND, OR...)을 수행하며 연산에 필요한 데이터들을 레지스터에서 가져오고, 연산 결과를 다시 레지스터에게 보내는 역할을 한다. 제어장치(CU) 명..
안녕하세요! 이번 시간에는 OSI 7계층을 정리해보려고 합니다. 포스팅이이 아주 단촐하고 정리 수준이라서 정확한 정보가 아닐 수 있기 때문에, 잘못된 정보에 대한 피드백은 항상 감사히 받습니다! 물리계층 상위 계층으로부터 전달 받은 데이터를 하드웨어에서 하드웨어로 다른 장비에 전기적 신호를 전송하는 역할을 담당합니다. 또한, 전달을 받았을 경우 전기적 신호를 처리하고 상위 계층에 bit 형태로 전송합니다. 네트워크 어댑터, 리피터, 네트워크 허브, 모뎀 등이 물리 계층을 담당하는 하드웨어 장비의 대표적인 예라고 할 수 있습니다! 참고로 이 bit는 전기적 신호(0 또는 1)를 의미합니다. 데이터링크 계층 물리 계층의 데이터를 신뢰성 있게 전송하는 계층입니다. 물리 주소를 참조하여 각 장비간 전송을 하고,..
개요 Cross-Origin-Resource-Sharing의 약자로 브라우저에서 다른 출처의 리소스를 공유하는 것입니다. URL 구조 출처(Origin)란? Protocol + Host + Port = Origin 같은 출처 vs 다른 출처 Origin : https://beomseok.com 동일 출처 정책이란? 브라우저에서 api를 호출 시 CORS policy 에러가 발생할 수 있습니다. 그 이유는 동일 출처 정책을 지키기 때문에 다른 출처의 리소스 접근을 금지하기 때문입니다. 예를 들어 http://beomseok.io에서 http://beomseok-api.io라는 api 서버로 데이터를 요청한다면 동일 출처를 위반한 것이 된다. CORS 동작 원리 Simple Request 성립 조건 GET,..
문제는 여기! 안녕하세요! 이번 시간에는 백준의 미네랄 문제에 대해 풀이해보겠습니다. 항상 시뮬레이션 문제는 많은 경우의 수를 생각해야하기 때문에 푸는 도중에는 머리가 터질 것 같지만 정답 판정을 받았을 때의 기분은 상당히 짜릿합니다.시간 복잡도따위 일단 맞고보자 그럼 바로 풀이 가보시죠! 나의 풀이 전략 일단 골따리 시뮬레이션 문제들은 참으로 까다롭습니다. 제가 풀이했던 문제들이 많지는 않지만, 시뮬레이션 문제들은 가만 보면 시간 복잡도를 고려하기 보다는 문제를 어떻게 푸느냐가 제일 중요한 것 같아요. 문제에서 보면 동굴의 크기, 막대를 던진 횟수 들이 그리 크지 않습니다. 문제의 핵심은 막대기를 던진 이후 미네랄의 군집화 처리, 미네랄 클러스터들 마다 중력에 의해 바닥으로 떨어지는 것을 처리 이 두 ..
문제는 여기! 안녕하세요! 이번 시간에는 프로그래머스 고득점 kit DP파트, 난이도 Level4 문제였던 도둑질 문제를 풀이해보겠습니다. 제한사항 및 주의사항 각 집은 동그랗게 배치되어 있습니다. 인접한 두 집을 털게 되면 경보가 울립니다. 우리는 경보가 울리지 않게 집을 털어야 하고, 최대한 돈을 많이 털어야 합니다. 마을에 있는 집은 3 이상 1,000,000 이하 입니다. money 배열의 각 원소는 0 이상 1,000 이하 정수입니다. 풀이전략 각 집은 동그랗게 배치되어 있기 떄문에, 첫 번째 집을 털게 될 경우 마지막 집은 털 수 없습니다. 그래서 저는 첫 번째 집을 털 경우 dp[0][i]와 첫 번째 집을 털지 않을 경우 dp[1][i]로 나누어서 풀었습니다. 그럼 이제, dp[i]번째는 어..
문제는 여기! 안녕하세요! 이번 포스팅은 2021 카카오 블라인드 채용 문제였던 "순위 검색" 문제를 풀이해보겠습니다. 프로그래머스에서는 레벨 2로 나와있지만 꽤 어려웠습니다. 특히 효율성 테스트를 만족시키는게 까다로웠는데, query에서 -가 있는 경우 어떻게 처리를 할지 좀 고민을 많이했던 문제였습니다. 그럼 바로 풀이해보겠습니다! 제한사항 및 주의사항 info 배열의 크기는 1 이상 50,000 이하 입니다. 점수는 1 이상 100,000 이하의 자연수입니다. query 배열의 크기는 1 이상 100,000 이하 입니다. 풀이전략 info 리스트의 언어, 직군, 경력, 소울푸드를 하나로 묶어서 딕셔너리의 키로 사용합니다. 이때, query에서 -가 포함된 경우도 존재하기에 언어가 있을 경우와 '-'..
문제는 여기! 안녕하세요! 이번 시간에는 프로그래머스의 연습문제인 "여행경로" 문제 풀이에 대해 포스팅하겠습니다. 문제의 설명이 조금 빈약 저의 머리도 빈약 해서 다른 사람들의 포스팅을 보고 풀이 방법에 대해서 조금 참고하면서 풀었습니다. 그럼 시작할게요! 제한사항 및 주의사항 주어진 공항의 수는 3 이상 10,000 이하 입니다. tickets의 각 행 [a, b]의 의미 : a 공항에서 b 공항으로 가는 항공권이 있다. 주어진 항공권을 모두 사용해야 합니다. 가능한 경로가 2개 이상일 경우, 알파벳 순서가 앞서는 경로를 return 합니다. 풀이전략 인트로에서 말씀드렸듯, 처음에 문제 자체를 올바르게 이해하지 못했습니다. 주어진 모든 항공권을 사용해야 한다라는 의미는 모든 공항을 탐색해야 한다는 의미..