본문 바로가기

반응형

2018/12/07

(2)
[삼성 기출 문제] 백준 14889 스타트와 링크 문제 링크 클릭시 이동합니다. 어떻게 풀까? 를 구하는 문제입니다. n 개의 데이터를 스타트 팀, 링크 팀에 넣은 뒤에 두 팀의 능력치를 계산해서 두 능력치의 차이 중 최소의 값을 출력합시다! 참고로, 능력치는 입력에 주어지는 것 처럼 2차원 배열에 저장하실 겁니다!팀의 능력치를 구할 때, i, j가 같은 팀이면 능력치를 (i,j)와 (j,i)의 합으로 구할 수 있습니다!즉, 1번 사람과 2번 사람이 팀이라면, (1,2)와 (2,1)를 더해서 구하면 됩니다! 2차원 for문을 이용하면 1번 사람과 2번 사람의 경우와 2번 사람과 1번 사람의 경우 두 개를 중복으로 확인할 것입니다.이를 피하기 위해서 j는 i+1번 번호 부터 확인하도록 합시다! 저는 비트조합을 이용해서 조합을 구했는데, 이를 확인하시려면 ..
[삼성 기출 문제] 백준 14888 연산자 끼워넣기 문제 링크 클릭시 문제로 이동합니다. 어떻게 풀까? 다행히도 연산자의 우선 순위가 모두 같기 때문에, 앞에서부터 차례차례로 처리하면 됩니다! 그리고, 더하기, 빼기, 곱하기, 나누기 연산의 개수가 나옵니다.그렇다는 것은, 현재 계산된 수에서 다음 수를 더하기, 빼기, 곱하기, 나누기 중 하나를 선택하고, 다음 수와 계산한 뒤에, 이렇게 계산된 수와 최댓값, 최솟값을 비교해서 계속 갱신해줍시다. 이렇게 모든 경우의 수를 다 구해서 저장된 최댓값과 최솟값을 출력하면 문제의 답을 출력할 수 있습니다! 3 3 4 5 1 0 1 0 위 예제를 통해서 한번 살펴봅시다. 처음에 더하기의 개수가 존재하기 때문에, 더하기의 개수를 하나 깎은 후에 3과 4를 더합니다. 다음에 더하기와 빼기의 개수가 0개이므로, 이 부분들..

반응형