본문 바로가기

Algorithm/완전탐색5

[프로그래머스] 코딩테스트 고득점 Kit - 완전탐색 (JAVA) https://programmers.co.kr/learn/courses/30/parts/12230 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr List list = new ArrayList() : List선언 list.size() : 리스트의 길이 Collections.sort(list) : 리스트 정렬 list.get(인덱스) : 해당 인덱스에 있는 리스트의 값 반환 import java.util.*; class Solution { public int[] solution(int[] answers) { List l = new ArrayList(); in.. 2021. 10. 1.
[백준] 1759번: 암호 만들기 https://www.acmicpc.net/problem/1759 1759번: 암호 만들기 첫째 줄에 두 정수 L, C가 주어진다. (3 ≤ L ≤ C ≤ 15) 다음 줄에는 C개의 문자들이 공백으로 구분되어 주어진다. 주어지는 문자들은 알파벳 소문자이며, 중복되는 것은 없다. www.acmicpc.net 브루트포스 알고리즘 + 백트래킹으로 구현하였다. 우선, 알파벳을 오름차순으로 정렬 한 후 백트래킹을 통해 정렬된 순서를 유지하면서 L개를 선택하는 모든 경우를 탐색하였다. 그 후, 조건에 맞으면 출력하였다. 백트래킹 함수에서 처음엔 매개변수를 cnt로만 두었다. 하지만, 그렇게 하면 정렬된 순서를 유지하지 못하고 뽑았던 문자 조합을 순서가 바뀐 모양으로 또 선택하게 되서 비효율적이었다. 따라서, 현재 .. 2021. 9. 17.
[프로그래머스] 카펫 https://programmers.co.kr/learn/courses/30/lessons/42842 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 완전 탐색으로 어렵지 않게 구현하였다. #include #include #include using namespace std; vector solution(int brown, int yellow) { vector answer; int N,M; //세로길이, 가로길이 for (int i = 1; i 2021. 9. 9.
[프로그래머스] 메뉴리뉴얼 (C++) (2021 KAKAO 기출 ) https://programmers.co.kr/learn/courses/30/lessons/72411 코딩테스트 연습 - 메뉴 리뉴얼 레스토랑을 운영하던 스카피는 코로나19로 인한 불경기를 극복하고자 메뉴를 새로 구성하려고 고민하고 있습니다. 기존에는 단품으로만 제공하던 메뉴를 조합해서 코스요리 형태로 재구성해서 programmers.co.kr 레벨 : Level 2 2021 KAKAO BLIND RECRUITMENT에 나왔던 문제이다. 배열의 크기가 각각 20,10이하로 제한되어 있기 때문에 완전탐색으로 구현이 가능한 문제였다. 이 문제의 핵심은 map 자료형을 이용하는 것이다. 평소에 vector만 거의 써왔기 때문에, map을 자주 써보지않아 익숙치 않았고 이 때문에 내장함수들을 찾아서 썻다. ma.. 2021. 9. 8.
[백준] 10819번 : 차이를 최대로 (C++) https://www.acmicpc.net/problem/10819 10819번: 차이를 최대로 첫째 줄에 N (3 ≤ N ≤ 8)이 주어진다. 둘째 줄에는 배열 A에 들어있는 정수가 주어진다. 배열에 들어있는 정수는 -100보다 크거나 같고, 100보다 작거나 같다. www.acmicpc.net 이 문제는 배열을 입력 받아 순서를 적절히 바꿔 |A[0] - A[1]| + |A[1] - A[2]| + ... + |A[N-2] - A[N-1]| 값을 최대로 만드는 것이었다. 처음에는 DP문제인줄 알았으나 해결방법이 떠오르지 않았다. 생각을 해보니 N이 최대 8이기 때문에 완전 탐색, 즉 브루트포스로 구현이 가능할 것 같았다. 백트래킹을 통해 주어진 배열로 만들수 있는 모든 케이스에 대한 각 결과값을 계산하.. 2021. 8. 19.