본문 바로가기

전체 글49

백준 10986 : 누적합 출처 : https://www.acmicpc.net/problem/10986참고 : https://banwolcode.tistory.com/47문제수 N개 A1, A2, ..., AN이 주어진다. 이때, 연속된 부분 구간의 합이 M으로 나누어 떨어지는 구간의 개수를 구하는 프로그램을 작성하시오. 즉, Ai + ... + Aj (i ≤ j) 의 합이 M으로 나누어 떨어지는 (i, j) 쌍의 개수를 구해야 한다.입력값 : (1 생각2차원 배열로 하나씩 확인하는게 방법인가?일단 누적합인데n 번째에서 n-1번까지 확인해야 하기 때문에 이건 너무 n(n-1)/2 번인데 -> 이건 시간초과날꺼 같고그렇다고 크기가 1인 것에서 n인거 까지 하나씩 늘려서 확인하는것도 같은 복잡도..순서가 보장 되어 있는것도 아니고.... 2025. 5. 25.
백준 12891: DNA 비밀번호 출처 : https://www.acmicpc.net/problem/12891문제평소에 문자열을 가지고 노는 것을 좋아하는 민호는 DNA 문자열을 알게 되었다. DNA 문자열은 모든 문자열에 등장하는 문자가 {‘A’, ‘C’, ‘G’, ‘T’} 인 문자열을 말한다. 예를 들어 “ACKA”는 DNA 문자열이 아니지만 “ACCA”는 DNA 문자열이다. 이런 신비한 문자열에 완전히 매료된 민호는 임의의 DNA 문자열을 만들고 만들어진 DNA 문자열의 부분문자열을 비밀번호로 사용하기로 마음먹었다.하지만 민호는 이러한 방법에는 큰 문제가 있다는 것을 발견했다. 임의의 DNA 문자열의 부분문자열을 뽑았을 때 “AAAA”와 같이 보안에 취약한 비밀번호가 만들어 질 수 있기 때문이다. 그래서 민호는 부분문자열에서 등장하.. 2025. 5. 23.
백준 1253 : 좋다 출처 : https://www.acmicpc.net/problem/1253문제N개의 수 중에서 어떤 수가 다른 수 두 개의 합으로 나타낼 수 있다면 그 수를 “좋다(GOOD)”고 한다.N개의 수가 주어지면 그 중에서 좋은 수의 개수는 몇 개인지 출력하라.수의 위치가 다르면 값이 같아도 다른 수이다. 생각이중 for문으로 가능할거 같다 -> 시간초가 날 확률이 높음2개의 합이라고 했으니까 투포인터로 양 끝에서 확인하는 방식으로 하자 코드// 4:40분에 시작함함// 일단 한눈에 안들어옴// 서로 다른 2개를 골라서 존재하는 수를 만들 수 있으면 된다// 이중 for문으로 확인하면 되는거 아닐까// 시간 초과 날거 같긴함// 일단 입력 받아서 있는지 확인하는 것을 먼저 만들어야 겠는데// 입력 범위가 -10.. 2025. 5. 22.
백준 11660 : 구간합 구하기 5 출처 : https://www.acmicpc.net/problem/11660문제N×N개의 수가 N×N 크기의 표에 채워져 있다. (x1, y1)부터 (x2, y2)까지 합을 구하는 프로그램을 작성하시오. (x, y)는 x행 y열을 의미한다.예를 들어, N = 4이고, 표가 아래와 같이 채워져 있는 경우를 살펴보자.1234234534564567여기서 (2, 2)부터 (3, 4)까지 합을 구하면 3+4+5+4+5+6 = 27이고, (4, 4)부터 (4, 4)까지 합을 구하면 7이다.표에 채워져 있는 수와 합을 구하는 연산이 주어졌을 때, 이를 처리하는 프로그램을 작성하시오. 구간 합을 2차원 배열로 구하는것생각 구간 합 문제 일단 원하는데 까지 모두 더하고 필요없는 부분 빼기중복해서 뺀 부분 더해주기 코드/.. 2025. 5. 20.