본문 바로가기
반응형

완전탐색4

BOJ 2503 - 숫자 야구 / C++ 문제 링크 : https://www.acmicpc.net/problem/2503 2503번: 숫자 야구 첫째 줄에는 민혁이가 영수에게 몇 번이나 질문을 했는지를 나타내는 1 이상 100 이하의 자연수 N이 주어진다. 이어지는 N개의 줄에는 각 줄마다 민혁이가 질문한 세 자리 수와 영수가 답한 스트 www.acmicpc.net 문제 풀이 1. 숫자는 1~9까지이다. 2. 세 자리 수 모두 겹치는 숫자가 없다. 즉, 가능한 숫자는 123 ~ 987이다. 따라서 미리 123부터 987까지 들어있는 배열을 만들고 n개의 질문마다 strike, ball을 직접 해보며 조건에 일치하지 않으면 배열에서 삭제한다. 결국 배열에는 가능한 숫자들만 남아있기 때문에 해당 배열의 size를 리턴해주면 된다. #include .. 2022. 3. 10.
프로그래머스 - 카펫 / C++ 문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42842# 코딩테스트 연습 - 카펫 Leo는 카펫을 사러 갔다가 아래 그림과 같이 중앙에는 노란색으로 칠해져 있고 테두리 1줄은 갈색으로 칠해져 있는 격자 모양 카펫을 봤습니다. Leo는 집으로 돌아와서 아까 본 카펫의 노란색과 programmers.co.kr 문제 풀이 문제를 읽고 테스트케이스를 보니 제일 먼저 떠오른 수식은 yellow + brown = w * h이다. 바로 구현하여 브루트포스하였지만 테스트케이스 4, 6, 7을 통과하지 못했다. 검색해보니 반례가 brown = 18, yellow = 6인 경우 그림과 같이 만들려면 width = 8, height= 3이어야 하지만 width =.. 2022. 2. 6.
프로그래머스 - 소수 찾기 / 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.
반응형