[level 2] 게임 맵 최단거리 - 1844
·
코딩테스트/프로그래머스
[level 2] 게임 맵 최단거리 - 1844문제 링크성능 요약메모리: 53.6 MB, 시간: 10.45 ms구분코딩테스트 연습 > 깊이/너비 우선 탐색(DFS/BFS)채점결과정확성: 69.9효율성: 30.1합계: 100.0 / 100.0제출 일자2024년 09월 29일 20:43:28문제 설명ROR 게임은 두 팀으로 나누어서 진행하며, 상대 팀 진영을 먼저 파괴하면 이기는 게임입니다. 따라서, 각 팀은 상대 팀 진영에 최대한 빨리 도착하는 것이 유리합니다.지금부터 당신은 한 팀의 팀원이 되어 게임을 진행하려고 합니다. 다음은 5 x 5 크기의 맵에, 당신의 캐릭터가 (행: 1, 열: 1) 위치에 있고, 상대 팀 진영은 (행: 5, 열: 5) 위치에 있는 경우의 예시입니다.위 그림에서 검은색 부분은 벽..
[Silver II] 유기농 배추 - 1012
·
코딩테스트/백준
[Silver II] 유기농 배추 - 1012문제 링크성능 요약메모리: 15836 KB, 시간: 136 ms분류그래프 이론, 그래프 탐색, 너비 우선 탐색, 깊이 우선 탐색제출 일자2024년 9월 27일 19:37:59문제 설명차세대 영농인 한나는 강원도 고랭지에서 유기농 배추를 재배하기로 하였다. 농약을 쓰지 않고 배추를 재배하려면 배추를 해충으로부터 보호하는 것이 중요하기 때문에, 한나는 해충 방지에 효과적인 배추흰지렁이를 구입하기로 결심한다. 이 지렁이는 배추근처에 서식하며 해충을 잡아 먹음으로써 배추를 보호한다. 특히, 어떤 배추에 배추흰지렁이가 한 마리라도 살고 있으면 이 지렁이는 인접한 다른 배추로 이동할 수 있어, 그 배추들 역시 해충으로부터 보호받을 수 있다. 한 배추의 상하좌우 네 방향에..
[level 3] 네트워크 - 43162
·
코딩테스트/프로그래머스
[level 3] 네트워크 - 43162문제 링크성능 요약메모리: 79.7 MB, 시간: 0.27 ms구분코딩테스트 연습 > 깊이/너비 우선 탐색(DFS/BFS)채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 09월 27일 17:45:28문제 설명네트워크란 컴퓨터 상호 간에 정보를 교환할 수 있도록 연결된 형태를 의미합니다. 예를 들어, 컴퓨터 A와 컴퓨터 B가 직접적으로 연결되어있고, 컴퓨터 B와 컴퓨터 C가 직접적으로 연결되어 있을 때 컴퓨터 A와 컴퓨터 C도 간접적으로 연결되어 정보를 교환할 수 있습니다. 따라서 컴퓨터 A, B, C는 모두 같은 네트워크 상에 있다고 할 수 있습니다.컴퓨터의 개수 n, 연결에 대한 정보가 담긴 2차원 배열 computers가 매개변수로 주..
[level 2] [3차] n진수 게임 - 17687
·
코딩테스트/프로그래머스
[level 2] [3차] n진수 게임 - 17687문제 링크성능 요약메모리: 93.6 MB, 시간: 28.13 ms구분코딩테스트 연습 > 2018 KAKAO BLIND RECRUITMENT채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 09월 26일 13:49:21문제 설명N진수 게임튜브가 활동하는 코딩 동아리에서는 전통적으로 해오는 게임이 있다. 이 게임은 여러 사람이 둥글게 앉아서 숫자를 하나씩 차례대로 말하는 게임인데, 규칙은 다음과 같다.숫자를 0부터 시작해서 차례대로 말한다. 첫 번째 사람은 0, 두 번째 사람은 1, … 열 번째 사람은 9를 말한다.10 이상의 숫자부터는 한 자리씩 끊어서 말한다. 즉 열한 번째 사람은 10의 첫 자리인 1, 열두 번째 사람은 둘째 ..
JVM stack & heap
·
Java
JVM 탄생 이전C/C++ 는 컴파일 플랫폼과 타겟 플랫폼이 다를 경우 프로그램이 동작하지 않는다. 플랫폼 = 운영체제 + CPU 아키텍처  문제 발생 원인하드웨어 아키텍처 차이서로 다른 CPU 아키텍처는 명령어 집합이 다르기 때문에 x86 아키텍처에서 컴파일된 프로그램은 ARM 기반의 프로세서에서 실행할 수 없음CPU는 각 아키텍처에 맞는 어셈블리 명령어를 해석하기에, 서로 다른 아키텍처 간에는 명령어 해석이 달라질 수 밖에 없음운영체제 차이운영체제마다 시스템 호출 방식, 메무리 구조 등이 다를 수 있음 이러한 문제를 해결하기 위한 과정을 cross compile이라 한다. C/C++은 cross compiler를 통해 타겟 플랫폼을 정의하고 이에 맞춰서 컴파일을 진행하는 방식으로 문제를 해결했음 e...
OSI 7 layer
·
Computer Science/Network
OSI 7 layer의 탄생 배경네트워크란?컴퓨터나 기타 기기들이 리소스를 공유하거나 데이터를 주고 받기 위해 유선 혹은 무선으로 연결된 통신 체계네트워크의 역할애플리케이션 목적에 맞는 통신 방법 제공신뢰할 수 있는 데이터 전송 방법 제공네트워크 간의 최적의 통신 경로 설정목적지로 데이터 전송노드 사이의 데이터 전송프로토콜이란?데이터를 송수신 하기 위한 규칙위 모든 역할을 하나의 네트워크 프로토콜에서 하게 된다면?유지 보수 및 기능 추가의 어려움🚩 모듈화를 통해 계층별로 구분하자 → OSI 7 layerOSI 7 layer물리 계층: 비트 단위의 데이터 전송을 담당bits 단위로 데이터 전송데이터링크 계층: 인접 노드 간 데이터 전송, 오류 검출 및 수정직접 연결된 노드 간의 통신 담당MAC 주소 기반..
[level 2] 튜플 - 64065
·
코딩테스트/프로그래머스
[level 2] 튜플 - 64065문제 링크성능 요약메모리: 113 MB, 시간: 124.79 ms구분코딩테스트 연습 > 2019 카카오 개발자 겨울 인턴십채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 09월 22일 19:02:14문제 설명셀수있는 수량의 순서있는 열거 또는 어떤 순서를 따르는 요소들의 모음을 튜플(tuple)이라고 합니다. n개의 요소를 가진 튜플을 n-튜플(n-tuple)이라고 하며, 다음과 같이 표현할 수 있습니다.(a1, a2, a3, ..., an)튜플은 다음과 같은 성질을 가지고 있습니다.중복된 원소가 있을 수 있습니다. ex : (2, 3, 1, 2)원소에 정해진 순서가 있으며, 원소의 순서가 다르면 서로 다른 튜플입니다. ex : (1, 2, ..
[level 2] 2 x n 타일링 - 12900
·
코딩테스트/프로그래머스
[level 2] 2 x n 타일링 - 12900문제 링크성능 요약메모리: 52.2 MB, 시간: 1.50 ms구분코딩테스트 연습 > 연습문제채점결과정확성: 70.0효율성: 30.0합계: 100.0 / 100.0제출 일자2024년 09월 22일 17:01:06문제 설명가로 길이가 2이고 세로의 길이가 1인 직사각형모양의 타일이 있습니다. 이 직사각형 타일을 이용하여 세로의 길이가 2이고 가로의 길이가 n인 바닥을 가득 채우려고 합니다. 타일을 채울 때는 다음과 같이 2가지 방법이 있습니다.타일을 가로로 배치 하는 경우타일을 세로로 배치 하는 경우예를들어서 n이 7인 직사각형은 다음과 같이 채울 수 있습니다.직사각형의 가로의 길이 n이 매개변수로 주어질 때, 이 직사각형을 채우는 방법의 수를 return ..
[level 2] [1차] 캐시 - 17680
·
코딩테스트/프로그래머스
[level 2] [1차] 캐시 - 17680문제 링크성능 요약메모리: 125 MB, 시간: 39.65 ms구분코딩테스트 연습 > 2018 KAKAO BLIND RECRUITMENT채점결과정확성: 100.0합계: 100.0 / 100.0제출 일자2024년 09월 20일 13:39:18문제 설명캐시지도개발팀에서 근무하는 제이지는 지도에서 도시 이름을 검색하면 해당 도시와 관련된 맛집 게시물들을 데이터베이스에서 읽어 보여주는 서비스를 개발하고 있다.이 프로그램의 테스팅 업무를 담당하고 있는 어피치는 서비스를 오픈하기 전 각 로직에 대한 성능 측정을 수행하였는데, 제이지가 작성한 부분 중 데이터베이스에서 게시물을 가져오는 부분의 실행시간이 너무 오래 걸린다는 것을 알게 되었다.어피치는 제이지에게 해당 로직을 ..
컨텍스트 스위칭(context switching)
·
Computer Science/Operating System
context switching이란?context는 프로세스의 상태 정보를 의미하며 CPU 혹은 코어에서 실행 중이던 (프로세스 / 스레드) 가 다른 (프로세스 / 스레드)로 교체되는 것으로여러 프로세스 및 스레드를 동시에 실행시키기 위해서 필요하다. context switching이 발생하는 조건주어진 time slice(quantum)를 전부 사용했거나, IO 작업을 해야하거나, 다른 리소스를 기다려야 하는 등의 이유로 발생하게 됨 context switching은 누구에 의해 실행되는가??OS kernel : 운영체제의 핵심ontext switching이란?CPU 혹은 코어에서 실행 중이던 (프로세스 / 스레드) 가 다른 (프로세스 / 스레드)로 교체되는 것으로여러 프로세스 및 스레드를 동시에 실행..