전체 글

전체 글

    프로그래머스 - 여행경로(43164)

    링크 : https://school.programmers.co.kr/learn/courses/30/lessons/43164 문제 설명 주어진 항공권을 모두 이용하여 여행결로를 짜려고 합니다. 항상 "ICN" 공항에서 출발합니다. 티켓이 담긴 2차원 배열 tickets가 주어질 때, 방문하는 공항 경로를 배열에 담아 return 하시오. 제한조건 * 모든 공항은 알파벳 대문자 3글자로 이루어집니다. * 주어진 공항 수는 3개 이상, 10,000개 이하입니다. * ticket [a, b]는 a공항에서 b공항으로 가는 항공권입니다. * 주어진 항공권을 모두 사용해야합니다. * 가능한 경로가 2개 이상일 경우 알파벳 순서가 앞서는 경로를 우선시합니다. * 모든 도시를 방문할 수 없는 경우는 주어지지 않습니다. ..

    프로그래머스 - 표 병합(150366)

    링크 : https://school.programmers.co.kr/learn/courses/30/lessons/150366 문제 설명 당신은 표 편집 프로그램을 작성하고 있습니다. 표는 50*50 크기이며, 초기에 모든 셀은 비어 있습니다. 위에서 r번째, 왼쪽에서 c 번째 위치를 (r,c)라 표현할 때, 명령어들을 구현하려고 합니다. 명령어를 구현 한 후, 실행할 명령어들이 담긴 1차원 문자열 배열 commands가 주어질 때, commands 명령어를 순서대로 실행하고, PRINT 명령어에 대한 실행 결과를 순서대로 1차원 문자열 배열에 담아 return 하시오. 제한조건 1

    프로그래머스 - 합승 택시 요금(72413)

    링크 : https://school.programmers.co.kr/learn/courses/30/lessons/72413 문제 설명 A와 B는 택시를 타고 귀가하려고 합니다. 이때 A와 B는 가능한 택시요금이 적게나오는 루트로 합승하려고 합니다. 택시를 타고 갈 수 있는 n개의 지점 중 택시를 타는 s지점, A와 B의 집인 a, b지점, 각 지점간의 택시요금이 주어졌을 때, 최소 택시요금을 구하시오. 제한조건 * s, a, b 지점은 겹치지 않습니다. 또한 s지점에서 반드시 a, b 지점으로 갈 수 있는 경로만 주어집니다. * n

    프로그래머스 - 상담원 인원(214288)

    링크 : https://school.programmers.co.kr/learn/courses/30/lessons/214288 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 설명 H회사 채용 설명회에서 k개의 부서에 대해 n명의 멘토가 상담을 할 예정입니다. 상담 신청서 뭉치 reqs에는 [상담 시작 시간, 상담 소요 시간, 상담 부서] 3가지가 기입된 신청서들이 있습니다. 다음과 같은 조건하에 각 신청자가 최대한 기다리지 않도록 부서당 멘토 비율을 조정해야 합니다. 상담을 원하는 참가자가 상담 요청을 했을 때, 참가자의 상담 유형을 담당하는 멘토 중..

    Computer Architecture - Memory

    Computer Architecture - Memory

    목차단어정리다이렉트 메모리 매핑Associative Caches정리본 단어 정리Frequency(빈도수) : 메모리 동작 속도로 봐도 될 것 같고, 시간에 반비례합니다. 2GHz라면 Time = 1/Frequency = 1/2nsecPrimary Memory = Main memory : 메인 메모리를 뜻합니다.○ DRAM(Dynamic Random Access Memory) : 임의 주소에 접근할 수 있는 기억장치인데, 각각의 축전기가 담고 있는 전자의 수에 따라 비트를 1과 0으로 나타내지만 방전될 경우 정보를 잃게 되기에 주기적으로 충전 명령(refresh)을 보내줘야 해서 동적이라는 이름이 붙었다고 합니다. 휘발성(volatile) 메모리○ SRAM(Static RAM) : SRAM은 플립플롭 방식..

    Computer Architecture - Pipeline

    Computer Architecture - Pipeline

    목차 배경 파이프라인과 레지스터 관계 파이프라인 예시 파이프라인 파이프라인 배경(pipeline) 일반적으로 파이프라인은 한 데이터 처리 단계의 출력이 다음 단계의 입력으로 이어지는 형태의 구조를 말합니다. 이렇게 연결된 데이터 처리 단계는 한 여러 단계가 병렬적으로 수행될 수 있어 효율성의 향상을 꾀할 수 있습니다. 여기서 파이프라인도 프로세서에서 성능을 높이기 위해서 명령어 처리를 여러 단계로 나누어 단계별로 동시에 수행하여 병렬화 시키는 것을 말합니다. 프로세스 고속화, 처리량 상승효과를 얻습니다. ARM 파이프라인 초기 ARM7TDMI까지의 ARM 코어는 3단계 파이프라인을 가졌습니다. 이후 나올 모든 여러 단계의 파이프라인도 이 3단계 파이프라인 단계를 더 나눈 형태를 보입니다. ARM9TDMI..

    OS - 가상 메모리

    OS - 가상 메모리

    목차가상메모리(가상주소공간, Demand Paging, Free frame list)페이지 교체(FIFO, OPT, LRU, LFU, second chance)Thrashing Prevention(Thrashing, working-set 모델) 배경코드가 실행되기 위해서는 메모리에 있어야 하지만 전체 프로그램은 거의 사용되지 않고 보통 프로그램의 일부만이 반복적으로 사용됩니다. 그래서 우리는 굳이 프로그램 전체를 메모리에 올리는게 아니라 부분적으로 필요한 부분만 올리는 방법을 사용하고 그 덕분에 효율적인 메모리 사용으로 더 많은 프로그램을 동시에 돌릴 수 있고, 메모리에 프로그램 일부만 로드/스왑하기 때문에  더 적은 I/O 만으로도 가능하니 각 사용자 프로그램은 더 빠르게 돌릴 수 있습니다. 가상 메모..

    OS - 메인메모리(Main Memory)

    OS - 메인메모리(Main Memory)

    목차배경(배경, 주소 바인딩, 동적 로딩/링킹)메모리할당(연속 메모리 할당, 가변 파티션, 단편화)페이징페이지 테이블 구조(계층, 해시, 역)스와핑 배경프로세스는 실행 중인 프로그램을 뜻하는데, 여기서 실행 중이라는 뜻은 프로그램이 메인 메모리에 올라갔다라는 의미입니다. 기본적으로 프로세스는 디스크(SSD, HDD...etc)에 프로그램(코드)를 메모리에 불러오는 것입니다.메인 메모리(RAM)와 레지스터는 오직 CPU만 직접적으로 엑세스할 수 있는 저장장치(Storage) 입니다. 레지스터에 접근하는 것은 1 CPU 사이클 혹은 더 적은 시간 내에 완료되지만 메인 메모리에 접근은 여러 사이클이 걸릴 수 있습니다. 캐시는 메인메모리와 CPU 레지스터 사이에 위치합니다. 프로세스가 메모리에 올라가 있다면 각..