태그: 브루트포스

백준 덩치 7568

1. 문제 링크 1.1. 백준 덩치 문제 2. 문제 조건 2.1. 문제 우리는 사람의 덩치를 키와 몸무게, 이 두 개의 값으로 표현하여 그 등수를 매겨보려고 한다. 어떤 사람의 몸무게가 x kg이고 키가 y cm라면 이 사람의 덩치는 (x,y)로 표시된다. 두 사람 A 와 B의 덩치가 각각 (x,y), (p,q)라고 할 때 x>p 그리고 y&g

백준 분해합 2231

1. 문제 링크 1.1. 백준 분해합 문제 2. 문제 조건 2.1. 문제 어떤 자연수 N이 있을 때, 그 자연수 N의 분해합은 N과 N을 이루는 각 자리수의 합을 의미한다. 어떤 자연수 M의 분해합이 N인 경우, M을 N의 생성자라 한다. 예를 들어, 245의 분해합은 256(=245+2+4+5)이 된다. 따라서 245는 256의 생성자가 된다. 물

삼성 SW 역량테스트 백준 드래곤커브 15685

1. 문제 링크 삼성 SW 역량테스트 기출 백준 드래곤커브 15685 2. 문제 조건 드래곤 커브는 다음과 같은 세 가지 속성으로 이루어져 있으며, 이차원 좌표 평면 위에서 정의된다. 좌표 평면의 x축은 → 방향, y축은 ↓ 방향이다. 시작 점 시작 방향 세대 0세대 드래곤 커브는 아래 그림과 같은 길이가 1인 선분이다. 아래 그림은 (0, 0)에서

백준 연산자끼워넣기2 15658

연산자끼워넣기(2)15658 1. 컴퓨팅 스킬 DFS 재귀호출로 백트래킹으로 구해줍니다. 연산자끼워넣기 1번문제와 같은 원리입니다. 정답 또한 같습니다. 2. 컴퓨팅 사고 DFS 백트래킹 맨처음 dfs(v,1,v[0],plus,minus,multi,div); 호출할 때 왜 idx = 1로 시작하고, sum의 값을 v[0]의 값을 넘겨주는가에

백준 퇴사 14501

1. 백준퇴사14501 2. 컴퓨팅 스킬 백트래킹 재귀호출 3. 컴퓨팅 사고 맨 처음에 조합으로 next_permutation을 사용해서 해당 T[i]만큼 false를 만들면서 오는 경우를 찾으면 어떨까 라고 생각하였지만, 직감적으로 쉽지않다는것을 느꼈습니다. 그래서 재귀함수로 풀어보자 라는 생각으로 풀게되었습니다. 이 부분이 가장 중요한 부분입

백준 부분수열의합 1182

1. 백준 부분수열의합 1182 2. 컴퓨팅적 스킬 재귀호출 사용, 조합 사용 3. 컴퓨팅적 사고 next_permutation을 사용한 조합을 이용한 풀이 방법 1 순열과 조합중 조합을 사용하여 각각의 부분집합의 경우를 모두 구해준다. 하나씩 check변수에 모든 값을 true로 바꾸어준 후, 맨 앞에 있는 값들을 false로 바꾸면서 모든

백준 암호만들기 1759

1. 백준암호만들기1759 2. 컴퓨팅 스킬 Recursive를 활용한 풀이 백트래킹 두가지 방법으로 풀겠습니다. include헤더에 sort함수를 사용하겠습니다. 그 이유는 사전식으로 가능성 있는 암호를 모두 출력한다. 라는 조건이 있기 때문입니다. 3. 컴퓨팅 사고 조합의 방식으로 풀어야합니다. 어떻게 조합으로 풀어야된다는 생각을 하였을까요

백준 연산자끼워넣기 14888

1. 연산자끼워넣기14888 2. 컴퓨팅 스킬 next_permutation 값을 저장 시킬 vector v; 연산자의 개수를 1,2,3,4 의 값으로 넣을 vector cal; #include헤더에 minmax_element으로 최대값과 최소값 구해줍니다. DFS 재귀호출로 백트래킹으로 구해줍니다. 3. 컴퓨팅 사고 next_per

백준 로또 6603

1. 로또6603 2. 컴퓨팅 스킬 vector check 변수에 6개를 뽑는 경우의 수 이므로, k-6개만큼은 0을 푸쉬백 해주고, 6개까지에 1을 넣어줍니다. check배열로 next_permutation을 수행합니다. true인경우가 조합을 구하는 경우의 수입니다. 테스트케이스를 돌면서 vectorv, vector check의 값의 초기화값을 잘

백준 외원판순회2 10971

1. 백준외원판순회2 10971 2. 컴퓨팅 스킬 W[i][j]는 도시 i에서 도시 j로 가기 위한 비용이므로 모든 경우의 수 완전탐색을 수행합니다. N까지의 값을 vector에 넣어서 next_permutation을 수행합니다. next_permutation을 수행하는이유는 예를 들어 N이 4라고 하였을 경우 0,1,2,3까지의 값들을 vector에