본문 바로가기
반응형

알고리즘115

프로그래머스 - 땅따먹기 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/12913 코딩테스트 연습 - 땅따먹기 땅따먹기 게임을 하려고 합니다. 땅따먹기 게임의 땅(land)은 총 N행 4열로 이루어져 있고, 모든 칸에는 점수가 쓰여 있습니다. 1행부터 땅을 밟으며 한 행씩 내려올 때, 각 행의 4칸 중 한 칸만 밟 programmers.co.kr 문제 풀이 DP를 적용하여 풀면 된다. 주의할 점은 바로 직전의 열이 겹치면 안된다는 것이며 한 행은 항상 4열이다. 따라서, 점화식을 세울 때 해당 행에서 가장 큰 수를 더하되 열이 겹치면 continue해준다. 소스 코드 #include using namespace std; int solution(vector land) { .. 2021. 11. 21.
프로그래머스 - 다음 큰 숫자 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/12911 코딩테스트 연습 - 다음 큰 숫자 자연수 n이 주어졌을 때, n의 다음 큰 숫자는 다음과 같이 정의 합니다. 조건 1. n의 다음 큰 숫자는 n보다 큰 자연수 입니다. 조건 2. n의 다음 큰 숫자와 n은 2진수로 변환했을 때 1의 갯수가 같습니 programmers.co.kr 문제 풀이 비트, 구현에 관련된 문제이다. n보다 크며 이진수로 나타냈을 때 1의 개수가 같은 수를 리턴하면 되므로 n+1부터 입력 최대범위인 100만까지 돌며 조건에 만족하는지 함수를 통해 구현한다. 이때 2^19 < 100만 < 2^20이므로 자릿수는 20까지만 표현해도 된다. 소스 코드 #include usin.. 2021. 11. 13.
프로그래머스 - 위클리 챌린지 10주차, 교점에 별 만들기 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/87377 코딩테스트 연습 - 교점에 별 만들기 [[2, -1, 4], [-2, -1, 4], [0, -1, 1], [5, -8, -12], [5, 8, 12]] ["....*....", ".........", ".........", "*.......*", ".........", ".........", ".........", ".........", "*.......*"] [[0, 1, -1], [1, 0, -1], [1, 0, 1]] ["*.*"] [[1, -1, 0], [2, -1, 0], [4, - programmers.co.kr 문제 풀이 수학, 구현에 관련된 문제이다. 교점을 구하는 공식은 문.. 2021. 11. 10.
프로그래머스 - N개의 최소공배수 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/12953 코딩테스트 연습 - N개의 최소공배수 두 수의 최소공배수(Least Common Multiple)란 입력된 두 수의 배수 중 공통이 되는 가장 작은 숫자를 의미합니다. 예를 들어 2와 7의 최소공배수는 14가 됩니다. 정의를 확장해서, n개의 수의 최소공배 programmers.co.kr 문제 풀이 2, 6, 8, 14의 최소 공배수를 구하기 위해서는 무조건 14의 배수가 되어야한다. 물론 2, 6, 8의 배수도 되어야 하지만 내가 떠올린 방식은 14의 배수가 되는 수들을 원소들로 모두 나누어보고, 나누어 떨어지면 최소공배수로 생각하였다. 그렇게 하기 위해서 주어진 vector를 내림차순으.. 2021. 11. 7.
반응형