본문 바로가기
반응형

Programming Solve133

프로그래머스 - 소수 찾기 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42839 코딩테스트 연습 - 소수 찾기 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 programmers.co.kr 문제 풀이 numbers의 최대 길이가 7이므로 모든 경우의 수를 탐색하여도 주어진 시간제한 내에 풀 수 있다. 숫자들로 이루어진 모든 수를 만들려면 조합이 필요하므로 set과 next_permutation을 사용한다. "012"로 [0, 1, 2, 12, 21, 102, 120, 201, 210]와 같이 만들어야 하므로 자릿수만큼 .. 2022. 2. 6.
프로그래머스 - 모의고사 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42840 코딩테스트 연습 - 모의고사 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 programmers.co.kr 문제 풀이 수포자 3인방의 찍는 방식을 미리 배열에 담아두고 answers 배열을 돌며 정답이면 3인방의 카운트 배열에 ++해주면 된다. 가장 높은 점수인 사람을 배열에 담아 리턴해주면 된다. 동점자인 경우도 포함한다. 소스 코드 #include using namespace std; vector solution(vector answers) { in.. 2022. 2. 6.
프로그래머스 - 구명보트 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42885# 코딩테스트 연습 - 구명보트 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5 programmers.co.kr 문제 풀이 아이디어는 쉽게 떠올랐다. 주어진 사람들의 무게를 정렬 후 최소 무게 + 최대 무게를 해서 limit이 넘어가면 최대 무게인 사람을 혼자 태우고 해당 인원을 pop한 뒤 다시 그 다음으로 무거운 사람을 최대 무게로 두는 방식으로 반복하려 했다. 그런데 실제로 원소들을 pop하다보니 시간 초과가 나서 인덱스를 .. 2022. 2. 5.
프로그래머스 - 큰 수 만들기 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42883 코딩테스트 연습 - 큰 수 만들기 programmers.co.kr 문제 풀이 answer의 크기는 (number의 크기) - k이다. 따라서 첫 번째 for문은 number.size() - k만큼 돈다. 그리고 다음의 과정을 거친다. 1. 0 ~ k에서 가장 큰 수를 찾아 해당 인덱스가 j라면 현재 인덱스(cur)를 j로 바꿔주고 answer에 넣는다. 2. 다시 cur + 1부터 k + i까지 가장 큰 수를 찾는다. 반복. 3번 테스트 케이스로 예를 들어보면, "4177252841"에서 0 ~ k를 탐색하면 최댓값 7이 있는 인덱스는 2이므로 cur=2, answer에는 7을 추가한다. .. 2022. 2. 5.
반응형