(C++) - 프로그래머스(월간 코드 챌린지 시즌 1) : 삼각 달팽이 답
programmers.co.kr/learn/courses/30/lessons/68645?language=cpp 코딩테스트 연습 - 삼각 달팽이 5 [1,2,12,3,13,11,4,14,15,10,5,6,7,8,9] 6 [1,2,15,3,16,14,4,17,21,13,5,18,19,20,12,6,7,8,9,10,11] programmers.co.kr 재귀 또는 일반적인 구현으로 풀 수 있는 문제였습니다. 풀이방법 1. 먼저 삼각형을 적절히 변형해 생각합니다. 정삼각형이 아닌 직각삼각형이라고 생각하면 인덱싱이 편합니다. 2. 다음과 같은 높이가 n인 직각삼각형을 만들기 위해서는 3가지 방향으로 수를 채워야 합니다. 2-1. (1)번 방향 : 아래로 수직하강합니다. 2-2. (2)번 방향 : 우측으로 평행하게..
(C++) - 백준(BOJ) 14889번 : 스타트와 링크 답
www.acmicpc.net/problem/14889 14889번: 스타트와 링크 예제 2의 경우에 (1, 3, 6), (2, 4, 5)로 팀을 나누면 되고, 예제 3의 경우에는 (1, 2, 4, 5), (3, 6, 7, 8)로 팀을 나누면 된다. www.acmicpc.net backtracking을 이용한 문제였습니다. 풀이방법 1. backtracking을 이용해 n/2인원을 뽑습니다. 이 때 뽑히지 않은 인원을 상대편 팀으로 생각하면 됩니다. 2. n/2인원을 뽑았다면 시너지를 계산합니다. Code #include using namespace std; int n; int team[20][20]; int check[20]; int ans = 0x7f7f7f7f; int getSynergy(vector..