[프로그래머스] 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가 주어질 때, 가장 먼..
[프로그래머스] Lv.0 이진수 더하기 c++
·
Algorithm/Programmers
https://school.programmers.co.kr/learn/courses/30/lessons/120885 프로그래머스SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프programmers.co.kr 이진수를 의미하는 두 개의 문자열 bin1과 bin2가 매개변수로 주어질 때, 두 이진수의 합을 구하는 함수를 구현해야 합니다.ex) bin1 = "1001", bin2 = "1111"  -> result = "11000" 조건return 값은 이진수를 의미하는 문자열입니다. 1 ≤ bin1, bin2의 길이 ≤ 10 bin1과 bin2는 0과 1로만 이루어져 있습니다. bin1과 bin2는 "0"을 제외하고 0으로 시작하지 않습니다. 풀이 ..