본문 바로가기

대딩/프로그래머스풀이126

[프로그래머스 lv2] 메뉴 리뉴얼 풀이 해설 n개의 단품으로 이루어진 모든 코스 조합을 찾은 후, 해당 코스가 주문에서 몇번 등장하였는지 카운트하여 가장 많은 주문을 받은 코스를 정답 배열에 추가하면 된다. 전체 코드 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ii = pair; using is = pair; using iii = tuple; #define X first #define Y second bool search(string s1, string s2) { for (auto c.. 2022. 3. 16.
[프로그래머스 lv2] 괄호변환 풀이 해설 지시문의 순서대로 문자열을 올바른 괄호 문자열로 변환하는 문제이다. 전체 코드 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ii = pair; using ss = pair; using iii = tuple; #define X first #define Y second bool correct(string s) { stack st; for (auto c : s) { if (c == '(') st.push('('); else if (.. 2022. 3. 16.
[프로그래머스 lv2] 단체사진찍기 풀이 해설 순열을 이용하여 카카오프렌즈 친구들이 설 수 있는 모든 경우를 구한다. 해당 경우가 주어진 모든 조건을 만족한다면 결과값을 1 증가시킨다. 해설 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ii = pair; using iii = tuple; #define X first #define Y second int ret; vector vdata; vector arr(10, 0); vector check(10, false); //카카오 친구들 번호 .. 2022. 3. 15.
[프로그래머스 lv2] 카카오프렌즈컬러링북 풀이 해설 bfs 문제의 대표유형이다. 시작지점을 기준으로 flood fill을 진행하고, 영역의 개수와 영역의 넓이를 갱신해주면 된다. 전체 코드 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ii = pair; using iii = tuple; #define X first #define Y second int dx[4] = {-1, 1, 0, 0}; int dy[4] = {0, 0, -1, 1}; int bfs(int x, int y, int m, i.. 2022. 3. 15.
[프로그래머스 lvl1] 키패드누르기 풀이 해설 모든 정점 쌍 간의 최단 거리를 구하는 플로이드 알고리즘을 이용하여 모든 키에서 키까지의 거리를 구한다. 이후 조건 분기문을 통해 L과 R을 ret에 더해준다. 전체 코드 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ii = pair; using iii = tuple; #define X first #define Y second #define INF 1000 #define STAR 10 #define SHARP 11 int dx.. 2022. 3. 14.
[프로그래머스 lvl1] 크레인인형뽑기게임 풀이 해설 인형을 꺼내는 칸 번호를 입력 받을 때마다 인형을 뽑는다. 인형이 없을 경우에는 아무 처리 없이 넘어가고, 뽑힌 인형이 최근에 뽑은 인형과 동일하다면 해당 인형들을 삭제하고 결과값(터뜨린 인형 수)에 2를 더한다. 뽑힌 인형이 최근 인형과 다르다면 그냥 스택에 넣어주면 된다. 전체 코드 #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std; using ii = pair; using iii = tuple; #define X first #define Y second .. 2022. 3. 14.