군대에서 심심할떄 했던 개발 프로젝트 및 썰 군대에서 한 프로젝트 환경 군대에서 운이 좋게도 Python 2.7이 설치되어 있었다. 우리가 사용하는 프로그램이 python과 java로 이루어진 프로그램이였기 때문인데 일하면서 틈틈히 python으로 2048, 테트리스, 포커 등 게 wilybear.tistory.com 서론 간혹 친구들을 만나거나 후배들 및 여러 사람들을 만나다 보면 군대에서 개발 공부를 하고 싶은데 무엇을 해야할지 모르겠다 라는 애기를 많이 들어서 해당 글을 작성해봅니다. 개인적으로 컴공과 1~2 학년 기준 군대를 갔다왔을 때 기존에 배웠던 것만 까먹지 않는다면 절반은 성공한 것이라고 생각됩니다. 저는 군대때 감을 잃고 싶지 않아서 짬이 낮을 때는 간간히 공부를 했고 시간이 지나고 나서..
군대에서 한것
카카오 프렌즈 컬러링북 문제출판사의 편집자인 어피치는 네오에게 컬러링북에 들어갈 원화를 그려달라고 부탁하여 여러 장의 그림을 받았다. 여러 장의 그림을 난이도 순으로 컬러링북에 넣고 싶었던 어피치는 영역이 많으면 색칠하기가 까다로워 어려워진다는 사실을 발견하고 그림의 난이도를 영역의 수로 정의하였다. (영역이란 상하좌우로 연결된 같은 색상의 공간을 의미한다.)그림에 몇 개의 영역이 있는지와 가장 큰 영역의 넓이는 얼마인지 계산하는 프로그램을 작성해보자.위의 그림은 총 12개 영역으로 이루어져 있으며, 가장 넓은 영역은 어피치의 얼굴면으로 넓이는 120이다. 입력 형식입력은 그림의 크기를 나타내는 m과 n, 그리고 그림을 나타내는 m × n 크기의 2차원 배열 picture로 주어진다. 제한조건은 아래와 ..
스킬 트리 문제문제 설명선행 스킬이란 어떤 스킬을 배우기 전에 먼저 배워야 하는 스킬을 뜻합니다.예를 들어 선행 스킬 순서가 스파크 → 라이트닝 볼트 → 썬더일때, 썬더를 배우려면 먼저 라이트닝 볼트를 배워야 하고, 라이트닝 볼트를 배우려면 먼저 스파크를 배워야 합니다.위 순서에 없는 다른 스킬(힐링 등)은 순서에 상관없이 배울 수 있습니다. 따라서 스파크 → 힐링 → 라이트닝 볼트 → 썬더와 같은 스킬트리는 가능하지만, 썬더 → 스파크나 라이트닝 볼트 → 스파크 → 힐링 → 썬더와 같은 스킬트리는 불가능합니다.선행 스킬 순서 skill과 유저들이 만든 스킬트리1를 담은 배열 skill_trees가 매개변수로 주어질 때, 가능한 스킬트리 개수를 return 하는 solution 함수를 작성해주세요. 제한..
프로세스와 컨텍스트 스위칭/다시 PC, SP에 주목하자- PC(Program Counter) + SP(Stack Pointer)/ Stack, Heap, Data(Bss,Data), Text(CODE) PCB=>PC,SP는 어디에 저장하나?PCB (Process Control Block)에 저장!*Process Context Block 이라고도함1. ProcessID2. Register 값 (PC, SP등)3. SCheduling Info (Process State)4. Memory Info (메모리 사이즈 limit)PCB : 프로세스가 실행중인 상태를 캡텨/구조화 해서 저장
가장 먼 노드 문제문제 설명n개의 노드가 있는 그래프가 있습니다. 각 노드는 1부터 n까지 번호가 적혀있습니다. 1번 노드에서 가장 멀리 떨어진 노드의 갯수를 구하려고 합니다. 가장 멀리 떨어진 노드란 최단경로로 이동했을 때 간선의 개수가 가장 많은 노드들을 의미합니다.노드의 개수 n, 간선에 대한 정보가 담긴 2차원 배열 vertex가 매개변수로 주어질 때, 1번 노드로부터 가장 멀리 떨어진 노드가 몇 개인지를 return 하도록 solution 함수를 작성해주세요. 제한사항노드의 개수 n은 2 이상 20,000 이하입니다.간선은 양방향이며 총 1개 이상 50,000개 이하의 간선이 있습니다.vertex 배열 각 행 [a, b]는 a번 노드와 b번 노드 사이에 간선이 있다는 의미입니다. 입출력 예nve..
문자열 내림차순으로 배치하기 문제 문제 설명문자열 s에 나타나는 문자를 큰것부터 작은 순으로 정렬해 새로운 문자열을 리턴하는 함수, solution을 완성해주세요.s는 영문 대소문자로만 구성되어 있으며, 대문자는 소문자보다 작은 것으로 간주합니다. 제한 사항str은 길이 1 이상인 문자열입니다. 문제 풀이아스키 코드표를 보면 A~Z 는 65~95, a~z 는 97~122 이다.algorithm의 sort()는 default 값이 오름차순 정렬이다. 대문자가 소문자보다 작은 것으로 간주한다면 주어진 문자열을 내림차순으로 정렬 하면 간단하게 문제를 풀 수 있다. c++ 코드1234567891011#include #include #include using namespace std; string solution..
서울에서 김서방 찾기 문제 문제 설명String형 배열 seoul의 element중 Kim의 위치 x를 찾아, 김서방은 x에 있다는 String을 반환하는 함수, solution을 완성하세요. seoul에 Kim은 오직 한 번만 나타나며 잘못된 값이 입력되는 경우는 없습니다. 제한 사항seoul은 길이 1 이상, 1000 이하인 배열입니다.seoul의 원소는 길이 1 이상, 20 이하인 문자열입니다.Kim은 반드시 seoul 안에 포함되어 있습니다. 문제 풀이seoul 배열에서 algorithm의 find()를 사용하여 iter을 받은 다음 distance()를 사용하여 위치를 iterrator에서 int로 받는다. 이때 distance()는 find(seoul.begin(),seoul.end(),"Ki..
문자열 내 마음대로 정렬하기 문제문제 설명문자열로 구성된 리스트 strings와, 정수 n이 주어졌을 때, 각 문자열의 인덱스 n번째 글자를 기준으로 오름차순 정렬하려 합니다. 예를 들어 strings가 [sun, bed, car]이고 n이 1이면 각 단어의 인덱스 1의 문자 u, e, a로 strings를 정렬합니다. 제한 조건strings는 길이 1 이상, 50이하인 배열입니다.strings의 원소는 소문자 알파벳으로 이루어져 있습니다.strings의 원소는 길이 1 이상, 100이하인 문자열입니다.모든 strings의 원소의 길이는 n보다 큽니다.인덱스 1의 문자가 같은 문자열이 여럿 일 경우, 사전순으로 앞선 문자열이 앞쪽에 위치합니다. 문제 풀이alogrithm 라이브러리의 sort() 를 이용..