본문 바로가기

알고리즘 문제147

[알고리즘문제] 프로그래머스 - 카카오프렌즈 컬러링북도움말 처음에 문제를 읽고 이게 무슨 말이지...생각을 했었는데 그냥 탐색문제였다. 구역의 수 / 한 구역의 최대크기를 구하는 문제이다. 여기서 구역은 상하좌우로 이어진 공간을 뜻한다. 1 1 1 0 1 2 2 0 1 0 0 1 0 0 0 1 0 0 0 3 0 0 0 3 예제를 보면 다음과 같은 행렬이 있을 때, 1 1 1 1 2 2 1 3 1 1 3 1 0을 제외하고 총 4개의 구역을 얻을 수 있다. 여기서 하나의 구역에서 크기가 가장 큰 경우는 첫번째 1이 5개인 경우이며, 4와 5를 return하면 된다. 처음에 문제를 이해했을 때 dfs로 풀면 되겠지 생각을 했고, 풀었는데 testcase는 합격했는데 정답제출을 하면 틀렸다고 나왔다. 그래서 바로 bfs로 풀어봤는데, 맞다고 나왔었다. 오랜만에 dfs,.. 2019. 12. 17.
[알고리즘 문제] 프로그래머스 - 기능개발 문제는 각 배포마다 몇개의 기능을 배포하는지에 대한 문제입니다. progresses는 작업의 진도, speeds는 각 progresses의 개발속도(1일 기준)가 적혀져 있습니다. 만약 progresses[x]작업을 speeds[x]의 속도만큼 n일 진행했고 progresses[x]가 100이 되는 순간 배포가 가능합니다. 배포는 순서대로 할 수 있으면 만약 progresses[x+1] 또한 100이라면 총 x,x+1 , 2개의 기능을 배포할 수 있습니다. 예를 들어, progresses[0]은 93이고, speeds[0]은 1일 때, 총 7일간 일을 해야 progresses[0]기능이 100되며,그동안 progresses[1]은 240, progresses[2]는 90이 됩니다. progresses[0.. 2019. 12. 12.
[알고리즘 문제] 프로그래머스 - 같은 숫자는 싫어 문제는 간단 합니다. 배열에 0~9의 숫자가 있을 때, 어떤 x라는 숫자가 연속되어 나타난다면 그 수는 1번만 출력하도록 하려고 합니다 예를 들어서, 1 1 2 3 5 7 9 9 인 경우, 1은 2번 반복되니 1번만, 마지막에 9도 2번 반복되니 1번만 출력하게 되고 최종적으로는 11,2,3,5,7,9가 출력 됩니다. 문제는 아래의 3가지 방법으로 풀어 보았습니다. // 1.내가 풀어본 방법 #include #include using namespace std; vector solution(vector arr) { vector answer; int start = arr[0]; for(int i=1;i 2019. 12. 8.
[알고리즘 문제] 프로그래머스 - 2016 https://programmers.co.kr/learn/challenges 프로그래밍 강의 | 프로그래머스 기초부터 차근차근, 직접 코드를 작성해 보세요. programmers.co.kr 문제 설명입니다. " 2016년 1월 1일은 금요일입니다. 2016년 a월 b일은 무슨 요일일까요? 두 수 a ,b를 입력받아 2016년 a월 b일이 무슨 요일인지 리턴하는 함수, solution을 완성하세요. 요일의 이름은 일요일부터 토요일까지 각각 SUN,MON,TUE,WED,THU,FRI,SAT 입니다. 예를 들어 a=5, b=24라면 5월 24일은 화요일이므로 문자열 TUE를 반환하세요 " 단순히 월/일이 주어졌을 때 그 날의 요일을 반환하는 문제입니다. 문제 해결 방법은 간단합니다. 0 -> 목 1 -> 금 .. 2019. 12. 4.