프로그래머스

    [프로그래머스] 기능개발

    문제 바로가기 프로그래머스 팀에서는 기능 개선 작업을 수행 중입니다. 각 기능은 진도가 100%일 때 서비스에 반영할 수 있습니다. 또, 각 기능의 개발속도는 모두 다르기 때문에 뒤에 있는 기능이 앞에 있는 기능보다 먼저 개발될 수 있고, 이때 뒤에 있는 기능은 앞에 있는 기능이 배포될 때 함께 배포됩니다. 먼저 배포되어야 하는 순서대로 작업의 진도가 적힌 정수 배열 progresses와 각 작업의 개발 속도가 적힌 정수 배열 speeds가 주어질 때 각 배포마다 몇 개의 기능이 배포되는지를 return 하도록 solution 함수를 완성하세요. 제한 사항 작업의 개수(progresses, speeds배열의 길이)는 100개 이하입니다. 작업 진도는 100 미만의 자연수입니다. 작업 속도는 100 이하의..

    [프로그래머스] 타겟 넘버

    문제 바로가기 해결 방법 내 코드 #include #include using namespace std; int answer = 0; void dfs(vector numbers, int target, int sum, int idx) { if(idx == numbers.size()) { if(sum == target) { answer++; } return; } dfs(numbers, target, sum + numbers[idx], idx + 1); dfs(numbers, target, sum - numbers[idx], idx + 1); } int solution(vector numbers, int target) { dfs(numbers, target, 0, 0); return answer; }

    [프로그래머스] 정수 삼각형(C++)

    [프로그래머스] 정수 삼각형(C++)

    문제 설명 위와 같은 삼각형의 꼭대기에서 바닥까지 이어지는 경로 중, 거쳐간 숫자의 합이 가장 큰 경우를 찾아보려고 합니다. 아래 칸으로 이동할 때는 대각선 방향으로 한 칸 오른쪽 또는 왼쪽으로만 이동 가능합니다. 예를 들어 3에서는 그 아래칸의 8 또는 1로만 이동이 가능합니다. 삼각형의 정보가 담긴 배열 triangle이 매개변수로 주어질 때, 거쳐간 숫자의 최댓값을 return 하도록 solution 함수를 완성하세요. 제한 사항 삼각형의 높이는 1 이상 500 이하입니다. 삼각형을 이루고 있는 숫자는 0 이상 9,999 이하의 정수입니다. 입출력 예 triangle result [[7], [3, 8], [8, 1, 0], [2, 7, 4, 4], [4, 5, 2, 6, 5]] 30 Solution..

    [프로그래머스] 키패드 누르기(C++)

    [프로그래머스] 키패드 누르기(C++)

    문제 코딩테스트 연습 - 키패드 누르기 [1, 3, 4, 5, 8, 2, 1, 4, 5, 9, 5] "right" "LRLLLRLLRRL" [7, 0, 8, 2, 8, 3, 1, 5, 7, 6, 2] "left" "LRLLRRLLLRR" [1, 2, 3, 4, 5, 6, 7, 8, 9, 0] "right" "LLRLLRLLRL" programmers.co.kr 해결 방법 키패드의 위치가 위와 같을 때, 각 숫자에 아래와 같이 좌표를 설정해주었다. 이때 0은 계산의 편리성을 위해 11로 바꾸어주었다. 즉, 각 칸의 x 좌표는 키패드 숫자를 3으로 나눈 몫이고(오른쪽 열은 예외적으로 3으로 나눈 몫 - 1) y 좌표는 왼쪽 열을 0, 가운데 열을 1, 오른쪽 열을 2로 설정하였다. for문을 돌면서 입력에 ..

    [프로그래머스] 모의고사

    코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 문제 풀이 수포자 각각이 찍는 방식의 주기를 파악하면 된다. 수포자1의 주기는 5, 수포자2의 주기는 8, 수포자3의 주기는 10이고 입력 받은 모든 정답을 처음부터 탐색하면서 수포자 각각의 답안과 비교하면 된다. 코드(C++) #include #include #include // max using namespace std; int person1[5] = {1, 2, 3, 4, 5}; int person2[8] = {2, 1, 2, 3, 2, 4, 2, 5}; ..

    코딩테스트 대비 사이트

    1. 백준 온라인 저지 Baekjoon Online Judge Baekjoon Online Judge 프로그래밍 문제를 풀고 온라인으로 채점받을 수 있는 곳입니다. www.acmicpc.net 2. 프로그래머스 코딩테스트 연습 기초부터 차근차근, 직접 코드를 작성해 보세요. programmers.co.kr 3. Algospot algospot.com :: 알고스팟에 오신 것을 환영합니다! algospot.com 4. LeetCode LeetCode - The World's Leading Online Programming Learning Platform Level up your coding skills and quickly land a job. This is the best place to expand y..

    [2020 카카오공채] 문자열 압축

    [2020 카카오공채] 문자열 압축

    https://programmers.co.kr/learn/courses/30/lessons/60057 코딩테스트 연습 - 문자열 압축 | 프로그래머스 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방법에 대해 공부를 하고 있습니다. 최근에 대량의 데이터 처리를 위한 간단한 비손실 압축 방법에 대해 공부를 하고 있는데, 문자열에서 같은 값이 연속해서 나타나는 것을 그 문자의 개수와 반복되는 값으로 표현하여 더 짧은 문자열로 줄여서 표현하는 알고리즘을 공부하고 있습니다. 간단한 예로 aabbaccc의 경우 2a2ba3c(문자가 반복되지 않아 한번만 나타난 경우 1은 생략함)와 같이 표현할 수 programmers.co.kr 문제 설명 데이터 처리 전문가가 되고 싶은 어피치는 문자열을 압축하는 방..

    [프로그래머스] 문자열을 숫자로

    [프로그래머스] 문자열을 숫자로

    프로그래머스 1단계에 나왔던 문제이다. 이것도 갑자기 생각나지 않아 어떻게 해야 하나 한참을 고민하다가 구글링을 했는데 새롭게 알게된 알고리즘과 함께 문제를 소개해보겠다. 문자열 s가 주어지는데 s의 길이는 최소 1, 최대 5이고 1234, 또는 -1234, +1234 와 같은 형태로 주어진다. 이제 그 문자열을 숫자로 바꾸어서 출력하면 된다. 해결 방법 헤더에 선언되어 있는 atoi 함수와 클래스에 선언되어 있는 c_str 함수(string 문자열을 *char 형으로 바꾸어 반환) 를 이용하여 한번에 출력하면 된다. 내 코드(C++) #include #include #include using namespace std; int main() { int answer = 0; string s; answer =..