본문 바로가기

반응형

Algorithm_프로그래머스

(16)
[프로그래머스 c++ O] 카카오프렌즈 컬러링북 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 #include #include #include #include using namespace std; // [프로그래머스 c++ O] 카카오프렌즈 컬러링북 // 문제: 그림의 각 영역의 갯수와 가장 큰 영역의 사이즈를 구하라 // 접근: 이차원 그래프-> dfs,bfs -> 영역의 갯수:dfs 이용 // 시간복잡도: O() // 풀이: // 프로그래머스에선 방문배열 초기화 해야 함 // ..
[프로그래머스 c++ V] 더 맵게 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 #include #include #include #include using namespace std; // [프로그래머스 c++ V] 더 맵게 // 문제: 배열에 주어진 모든 음식의 스코빌 지수를 규칙에 따라 K 이상으로 만들기 위한 계산 횟수 구하기 // 접근: 벡터로 스코빌 지수들 정렬-> 최소 2개 음식 갖고 스코빌 지수 계산하고 정렬 반복 -> 생각만 함 // 접근: 힙,우선순위 큐에 스코빌 지수 저장하고 -> 최소 2개 뽑아서 -> 계산 반복 // 풀이: // 우선순위 큐에 스코빌 지..
[프로그래머스 c++ V] 다리를 지나는 트럭 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 #include #include #include #include using namespace std; // [프로그래머스 c++ V] 다리를 지나는 트럭 // 문제: 다리의 무게한도를 초과하지 않으면서 트럭이 모두 지날 수 있는 최소 시간을 구해라 // 접근: 다리를 건너는 트럭에 트럭을 추가,삭제 -> 스택,큐 -> 순서대로: 큐를 사용 // 대기트럭의 무게와 다리의 무게합이 한도내에 있으면 다리를 건너는 큐에 푸쉬 // 큐의 크기가 다리의 길이와 ..
[프로그래머스 c++ V] 프린터 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 #include #include #include #include using namespace std; // [프로그래머스 c++ V] 프린터 // 문제: 원하는 문서가 대기목록에서 언제 프린트 되는지 구하라 // 접근: 우선순위 큐로 중요도 순서, 큐로 프린터 대기명단 이용 // 풀이: // 대기목록과 중요도 순서 큐와 우선순위 큐에 입력 // 프린터 대기명단 제일 앞 문서가 중요도가 제일 높은지 확인 // 제일 높으면 자신이 원하는 문서인지 확인 // 높지 않으면 프린터 대기..
[프로그래머스 c++ V] 주식가격 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 #include #include #include #include using namespace std; // [프로그래머스 c++ V] 주식가격 // 문제: 초 단위로 기록된 주식가격이 담긴 배열 prices가 매개변수로 주어질 때, 가격이 떨어지지 않은 기간은 몇 초인지를 return // 접근: 완전탐색-> 탐색하다 떨어지면 떨어진 곳의 인덱스-그 전의 값들 모두 떨어졌는지 비교 -> 길이가 10만이라 이러면 10만*10만이라 시간초과 날거라고 생각했는데-> 각 인덱스와 현재 탐색하는 인덱스 값의 차가 곧 시간인 것을 이용해 스택에 저장하고 가격이 ..
[프로그래머스 c++ O] 기능개발 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 #include #include #include using namespace std; // [프로그래머스 c++ O] 기능개발 // 문제: 기능이 배포되는데 걸리는 시간을 계산하여 한번 배포할 때 몇개의 기능들이 배포되는지 구하라 // 접근: 기본구현-> 배포일 계산 -> 앞 기능 배포일 뒤 기능 배포일 경우 나누어 생각 // 배포일이 5 1 1 6 이면 5,1,1 까지는 5보다 작으므로 함께 배포, 6은 5보다 크므로 따로 배포 // 풀이: // 배포에 걸리는 일 수 배열 작성 // 각..
[프로그래머스 c++ O] 모의고사 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 문제 접근 // [프로그래머스 c++ O] 모의고사 // 문제: 3개의 수포자 정답을 정답과 비교해 가장 많이 맞힌 사람 출력(동점자 오름차순 출력) // 접근: 완전탐색: 각 수포자 정답 배열 만들고 정답배열과 배교 문제 풀이 // 풀이: // 각 수포자 벡터 생성 및 정답 배열 완성 // 완전탐색으로 정답 갯수 구함 // 정답 오름차순으로 넣기 /..
[프로그래머스 c++ O] 비밀지도 문제 링크 https://programmers.co.kr/learn/courses/30/lessons/17681 문제 접근 // [프로그래머스 c++ O] 비밀지도 // 문제: 두 개의 지도의 벽과 공백을 십진수->이진수 해독 후 하나의 지도로 합쳐서 비밀지도 해석 후 문자열 출력 // 접근: 2개의 지도를 해석해서 벽은1 공백은 0으로 1개의 지도배열 합침 -> 비밀지도배열 해석 문제 풀이 // 풀이: // 2차 비밀지도 배열 0으로 초기화 // 지도1, 지도2 각각 십진수->이진수 변환하며 1인 경우 비밀지도1 대입 // 합쳐진 비밀지도 반복문 탐색하며 1인 경우 tp 스트링에 추가 // 한 행이 완성되면 정답 스트링에 tp추가 주의 개념 // 개념: memset(배열,원소,크기sizeof(배열)) ..

반응형