분류 전체보기(52)
-
Process vs Thread
Program 어떤 작업을 위해 실행할 수 있는 파일 Process 컴퓨터에서 연속적으로 실행되고 있는 프로그램(어떤 작업을 위해 실행할 수 있는 파일) 메모리에 올라와 실행되고 있는 프로그램의 인스턴스(독립적) 운영체제로부터 시스템 자원을 할당받는 작업의 단위 할당받는 자원 CPU 시간 주소 공간 Code, Data, Stack, Heap 구조의 독립된 메모리 영역 기본적으로 프로세스 당 최소 1개의 Thread를 가지고 있음. 이를 Main Thread라 한다. 각각의 프로세스는 다른 프로세스의 변수나 자료구조에 접근할 수 없다. 다른 자원에 접근하기 위해서는 프로세스 간 통신을 사용해야 한다. Thread Process에서 할당받은 자원을 이용하는 실행 흐름의 단위 Process의 특정한 수행 경로..
2021.05.28 -
카카오프렌즈 컬러링북 (프로그래머스) - C++
코딩테스트 연습 - 카카오프렌즈 컬러링북 6 4 [[1, 1, 1, 0], [1, 2, 2, 0], [1, 0, 0, 1], [0, 0, 0, 1], [0, 0, 0, 3], [0, 0, 0, 3]] [4, 5] programmers.co.kr 문제 그림에 몇 개의 영역이 있는지와 가장 큰 영역의 넓이는 얼마인지 계산하는 프로그램을 작성해보자. 설명 입력은 그림의 크기를 나타내는 m과 n, 그리고 그림을 나타내는 m × n 크기의 2차원 배열 picture로 주어진다. 제한조건은 아래와 같다. 1
2021.03.02 -
프렌즈4블록 (프로그래머스) - C++
코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 프렌즈4블록. 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙 programmers.co.kr 문제 입력으로 블록의 첫 배치가 주어졌을 때, 지워지는 블록은 모두 몇 개인지 판단하는 프로그램을 제작하라. 설명 풀이 위에서부터 체크하면서 오른쪽, 아래, 대각선을 체크하여 2*2 의 값이 모두 같다면 set에 해당 인덱스를 추가한다. set를 사용하는 이유는 중복이 있을 수 있기 때문이다. 다 체크를 한 뒤에 지워지는 블록들을 '#'으로 변경해준다. 바닥 바로 위 칸부터 올라오면서 아래 빈 공간(#)이 있는지 확인한다. 있다면 계속 아래로..
2021.02.22 -
숫자의 표현 (프로그래머스) - C++
문제 자연수 n이 매개변수로 주어질 때, 연속된 자연수들로 n을 표현하는 방법의 수를 return하는 solution를 완성해주세요. 설명 예를들어 15는 다음과 같이 4가지로 표현 할 수 있습니다. 1 + 2 + 3 + 4 + 5 = 15 4 + 5 + 6 = 15 7 + 8 = 15 15 = 15 풀이 start부터 시작해서 start로 부터 연속된 자연수를 더하다가 n과 값이 같으면 종료한 후에 start를 1 올린 후 다시 반복 위 과정을 반복 12345678910111213141516171819202122232425262728#include #include using namespace std; int solution(int n) { int answer = 0; int start = 1; for(..
2021.02.22 -
땅따먹기 (프로그래머스) - C++
문제 마지막 행까지 모두 내려왔을 때, 얻을 수 있는 점수의 최대값을 return하는 solution 함수를 완성해 주세요. 설명 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟으면서 내려와야 합니다. 단, 땅따먹기 게임에는 한 행씩 내려올 때, 같은 열을 연속해서 밟을 수 없는 특수 규칙이 있습니다. 풀이 DP로 해결했다. dp[i][0] += max(dp[i-1][3], max(dp[i-1][1], dp[i-1][2]) ) i 행에 n열의 값은 i-1 행에서 n이 아닌 열 중의 최댓값 + 자신의 값 마지막 행 중의 최댓값이 답이 된다. 12345678910111213141516..
2021.02.22 -
가장 큰 정사각형 찾기 (프로그래머스) - C++
문제 표에서 1로 이루어진 가장 큰 정사각형을 찾아 넓이를 return 하는 solution 함수를 완성해 주세요. (단, 정사각형이란 축에 평행한 정사각형을 말합니다.) 설명 1와 0로 채워진 표(board)가 있습니다. 표 1칸은 1 x 1 의 정사각형으로 이루어져 있습니다. 0 1 1 1 1 1 1 1 1 1 1 1 0 0 1 0 풀이 표에서 1로 이루어진 가장 큰 정사각형을 찾아야한다. 왼쪽 위에서부터 채워나가면서 가장 큰 정사각형을 찾는다. 격자로 이루어진 맵에서 출발지에서 목적지까지 최단거리를 구하는 문제와 유사하다. 하지만 이 문제는 왼쪽 위 대각선까지 포함하여, 왼쪽, 위, 대각선 3가지 방향을 고려해야한다. --> [i-1][j] , [i][j-1] ,[i-1][j-1] 만약 해당 인덱스..
2021.02.20