[프로그래머스] Lv.1 K번째수 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/42748 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하세요. 풀이 방법간단한 구현문제 입니다.시키는대로 배열을 자르고 정렬해서 원하는 위치의 숫자를 구하면 됩니다.풀이 코드#include #include #include using namespace std;vector solution(vector array, vector> commands) { vector answer; for(int i=0; ..
[프로그래머스] Lv.2 타겟 넘버 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 주어진 배열 numbers에서 순서를 유지한 채로 각 숫자를 더하거나 빼서 목표 값 target을 만드는 방법의 수를 구하는 문제입니다. 예를 들어, [1, 1, 1, 1, 1] 배열로 목표 값 3을 만들기 위해 다음 5가지 경우가 가능합니다:-1+1+1+1+1=3+1-1+1+1+1=3+1+1-1+1+1=3+1+1+1-1+1=3+1+1+1+1-1=3 풀이 방법DFS를 사용하여 문제를 해결했습니다.배열의 각 원소에 대해 +와 -로 나뉘는 모든 경..
[프로그래머스] Lv.2 전화번호 목록 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/42577# 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 전화번호부에 저장된 전화번호 중, 한 번호가 다른 번호의 접두어로 포함되어 있는지를 확인하는 문제입니다.예를 들어, 전화번호 목록 ["119", "97674223", "1195524421"]에서 119는 1195524421의 접두어이므로 false입니다.반면, 접두어 관계가 없는 목록 ["123", "456", "789"]에서는 결과가 true가 됩니다. 풀이 방법알고리즘 고득점 Kit Hash에 있는 문제라 Hash 자료구조를 사용할까 고민..
[프로그래머스] Lv.1 완주하지 못한 선수 c++
·
Algorithm/Programmers
vnfhttps://school.programmers.co.kr/learn/courses/30/lessons/42576 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 마라톤에 참가한 선수 중 한 명이 완주하지 못했습니다.완주를 하지 못한 한명을 찾아야 합니다.  조건동명이인이 있을 수 있습니다.풀이 방법이 문제는 hashmap을 활용하여 해결했습니다.먼저, completion의 길이만큼 for문을 돌면서 참가자와 완주자의 이름을 hashmap에 기록했습니다. 참가자의 이름은 ++ 연산을, 완주자의 이름은 -- 연산을 해줬습니다. 이렇게 하면 동일한 이름이 여러 번 등장하더라도 카운트를 정확히 관리할 수..
[프로그래머스] Lv.1 최소직사각형 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/86491?language=cpp 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 다양한 크기의 명함을 모두 수납할 수 있는 최소 크기의 지갑을 만들어야 합니다.명함은 가로와 세로를 자유롭게 회전할 수 있습니다.모든 명함을 수납하려면 지갑의 가로 길이는 명함 중 가로와 세로 중 큰 값의 최댓값이 되어야 하고, 지갑의 세로 길이는 작은 값의 최댓값이 되어야 합니다.최소 지갑 크기는 가로 최댓값 × 세로 최댓값으로 계산됩니다. 풀이 방법이 문제는 완전탐색으로 해결할 수 있습니다.명함은 가로와 세로를 자유롭..
[프로그래머스] Lv.1 크레인 인형뽑기 게임 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/64061 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 2019 카카오 개발자 겨울 인턴십에 나온 문제입니다.크레인 인형뽑기 게임을 모바일 게임으로 구현하려고 합니다. 조건N x N 크기의 격자판(board)에 인형들이 쌓여 있고, 각 칸은 숫자로 표현됩니다. 0은 빈 칸, 1~100은 각각 다른 인형 모양을 나타냅니다.사용자는 주어진 이동 명령(moves)에 따라 크레인을 특정 열로 이동시켜 가장 위에 있는 인형을 집어 바구니에 넣습니다.바구니에 같은 모양의 인형이 연속으로 쌓이면 두 인형이 사라..
[프로그래머스] Lv.1 햄버거 만들기 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/133502 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr햄버거 가게에서 일하는 상수는 정해진 순서로 쌓인 재료를 사용해 햄버거를 포장합니다.햄버거를 만들기 위한 재료의 순서는 다음과 같습니다:빵(1) → 야채(2) → 고기(3) → 빵(1)재료는 조리된 순서대로 쌓이며, 상수는 정해진 순서에 맞는 재료로만 햄버거를 만들 수 있습니다.재료가 추가적으로 쌓이는 동안 속도에 제한은 없으며, 재료의 높이는 무시됩니다.최대로 만들 수 있는 햄버거 개수를 구해야 합니다. 풀이 방법스택의 원리를 활용하면 이 문..
[프로그래머스] Lv.2 영어 끝말잇기 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/12981 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr n명의 사람들이 영어 끝말잇기를 합니다. 규칙은 다음과 같습니다:순서대로 단어를 말하고, 마지막 사람이 말한 후 다시 1번부터 시작합니다.앞사람이 말한 단어의 마지막 문자로 시작하는 단어를 말해야 합니다.이전에 말했던 단어는 사용할 수 없고, 한 글자인 단어는 인정되지 않습니다.탈락 조건:이미 말한 단어를 다시 말했거나,앞 단어의 마지막 글자로 시작하지 않는 단어를 말했을 때.입력으로 n(사람 수)과 단어 배열 words가 주어질 때, 가장 먼..