[백준 23330] 거리의 합 2 (C++)
https://www.acmicpc.net/problem/23330문제수직선에 n개의 점이 찍혀 있다. 각각의 점의 x좌표가 주어졌을 때, n2개의 모든 쌍에 대해서 거리를 더한 값을 구하는 프로그램을 작성하시오.즉, 모든 i, j에 대해서 |x[i] - x[j]|의 합을 구하는 것이다.입력 첫째 줄에 n(1 ≤ n ≤ 500,000)이 주어진다. 다음 줄에는 x[1], x[2], x[3], …, x[n]이 주어진다. 각각은 0 이상 10,000,000 이하의 정수이다. 출력첫째 줄에 답을 출력한다. 문제 풀이정렬 문제.오름차순 정렬한 후 첫번째 원소에 대해 다른 모든 원소와의 거리의 합을 구한다. 이를 prevSums라고 하자. 나머지 원소는 이전 원소와의 거리의 합인 prevSums와 각 원소의 위치..
2024. 7. 1.
[백준 9342] 염색체 (C++)
https://www.acmicpc.net/problem/9342문제상근이는 생명과학 연구소에서 염색체가 특정한 패턴인지를 확인하는 일을 하고 있다. 염색체는 알파벳 대문자 (A, B, C, ..., Z)로만 이루어진 문자열이다. 상근이는 각 염색체가 다음과 같은 규칙을 만족하는지 검사해야 한다.문자열은 {A, B, C, D, E, F} 중 0개 또는 1개로 시작해야 한다.그 다음에는 A가 하나 또는 그 이상 있어야 한다.그 다음에는 F가 하나 또는 그 이상 있어야 한다.그 다음에는 C가 하나 또는 그 이상 있어야 한다.그 다음에는 {A, B, C, D, E, F} 중 0개 또는 1개가 있으며, 더 이상의 문자는 없어야 한다.문자열이 주어졌을 때, 위의 규칙을 만족하는지 구하는 프로그램을 작성하시오. 입..
2024. 6. 30.