본문 바로가기

BP6

[백준문제풀이] 2003 수들의 합 2 풀이일시 : 2020-12-23 ​ 문제 : N개의 수로 된 수열 A[1], A[2], …, A[N] 이 있다. 이 수열의 i번째 수부터 j번째 수까지의 합 A[i] + A[i+1] + … + A[j-1] + A[j]가 M이 되는 경우의 수를 구하는 프로그램을 작성하시오. ​ ​ 입력 : 첫째 줄에 N(1 ≤ N ≤ 10,000), M(1 ≤ M ≤ 300,000,000)이 주어진다. 다음 줄에는 A[1], A[2], …, A[N]이 공백으로 분리되어 주어진다. 각각의 A[x]는 30,000을 넘지 않는 자연수이다. ex1) 4 2 1 1 1 1 ex2) 3 300 100 200 3 ​ ​ 출력 : 첫째 줄에 경우의 수를 출력한다. ex1) 3 ex2) 1 ​ ​ 풀이 : 1. BP로 풀이하는방법 ​ 단.. 2021. 1. 3.
[백준문제풀이] 6603 로또 풀이일시 : 2020-12-23 ​ 문제 : 독일 로또는 {1, 2, ..., 49}에서 수 6개를 고른다. 로또 번호를 선택하는데 사용되는 가장 유명한 전략은 49가지 수 중 k(k>6)개의 수를 골라 집합 S를 만든 다음 그 수만 가지고 번호를 선택하는 것이다. 예를 들어, k=8, S={1,2,3,5,8,13,21,34}인 경우 이 집합 S에서 수를 고를 수 있는 경우의 수는 총 28가지이다. ([1,2,3,5,8,13], [1,2,3,5,8,21], [1,2,3,5,8,34], [1,2,3,5,13,21], ..., [3,5,8,13,21,34]) 집합 S와 k가 주어졌을 때, 수를 고르는 모든 방법을 구하는 프로그램을 작성하시오. ​ ​ 입력 : 입력은 여러 개의 테스트 케이스로 이루어져 있다... 2021. 1. 3.
[백준문제풀이] 1697 숨바꼭질 풀이일시 : 2020-11-02 ​ 문제 : 수빈이는 동생과 숨바꼭질을 하고 있다. 수빈이는 현재 점 N(0 ≤ N ≤ 100,000)에 있고, 동생은 점 K(0 ≤ K ≤ 100,000)에 있다. 수빈이는 걷거나 순간이동을 할 수 있다. 만약, 수빈이의 위치가 X일 때 걷는다면 1초 후에 X-1 또는 X+1로 이동하게 된다. 순간이동을 하는 경우에는 1초 후에 2*X의 위치로 이동하게 된다. 수빈이와 동생의 위치가 주어졌을 때, 수빈이가 동생을 찾을 수 있는 가장 빠른 시간이 몇 초 후인지 구하는 프로그램을 작성하시오. ​ ​ 입력 : 첫 번째 줄에 수빈이가 있는 위치 N과 동생이 있는 위치 K가 주어진다. N과 K는 정수이다. ex) 5 17 ​ ​ 출력 : 수빈이가 동생을 찾는 가장 빠른 시간을 출.. 2021. 1. 2.
[백준문제풀이] 1107 리모컨 풀이일시 : 2020-10-15 ​ 문제 : 수빈이는 TV를 보고 있다. 수빈이는 채널을 돌리려고 했지만, 버튼을 너무 세게 누르는 바람에, 일부 숫자 버튼이 고장났다. 리모컨에는 버튼이 0부터 9까지 숫자, +와 -가 있다. +를 누르면 현재 보고있는 채널에서 +1된 채널로 이동하고, -를 누르면 -1된 채널로 이동한다. 채널 0에서 -를 누른 경우에는 채널이 변하지 않고, 채널은 무한대 만큼 있다. 수빈이가 지금 이동하려고 하는 채널은 N이다. 어떤 버튼이 고장났는지 주어졌을 때, 채널 N으로 이동하기 위해서 버튼을 최소 몇 번 눌러야하는지 구하는 프로그램을 작성하시오. 수빈이가 지금 보고 있는 채널은 100번이다. ​ 입력 : 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,00.. 2021. 1. 1.
[백준문제풀이] 1451 직사각형으로 나누기 풀이일시 : 2020-10-15 ​ 문제 : 세준이는 N*M크기로 직사각형에 수를 N*M개 써놓았다. 세준이는 이 직사각형을 겹치지 않는 3개의 작은 직사각형으로 나누려고 한다. 각각의 칸은 단 하나의 작은 직사각형에 포함되어야 하고, 각각의 작은 직사각형은 적어도 하나의 숫자를 포함해야 한다. 어떤 작은 직사각형의 합은 그 속에 있는 수의 합이다. 입력으로 주어진 직사각형을 3개의 작은 직사각형으로 나누었을 때, 각각의 작은 직사각형의 합의 곱을 최대로 하는 프로그램을 작성하시오. ​ 입력 : 첫째 줄에 직사각형의 세로 크기 N과 가로 크기 M이 주어진다. 둘째 줄부터 직사각형에 들어가는 수가 가장 윗 줄부터 한 줄에 하나씩 M개의 수가 주어진다. N과 M은 100보다 작거나 같은 자연수이고, 직사각형.. 2021. 1. 1.
[개념정리] BF 브루트 포스 알고리즘 BF (brute force)란brute force 로 직역하면 '무식한 힘' 알고리즘이다. 가능한 모든 경우를 탐색하며 요구조건에 충족되는 결과만을 찾는다. 예외없이 100%의 확률로 정답을 출력한다.- 전체를 탐색하기 위해 탐색 알고리즘을 사용한다. 순차탐색, dfs, bfs를 도구로 이용한다.​​BF의 사용 예시10의 약수의 합을 구해보자-> 순차탐색을 이용해서 첫번째 원소부터 마지막 원소까지 탐색한다.-> 10의 약수가 되는 값만 남겨둔다. (10을 현재원소로 나누었을때 나눠떨어지면 10의 약수)-> sum+=i 로 모두 합쳐준다. int sum=0; n=10; for(int i=0; i 2020. 12. 27.
반응형