일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |
- 수치해석
- 파라메트릭 서치
- 백준
- 프로그래머스
- 확률론
- 스티커 C++
- C#
- 너비우선탐색
- 문자열
- C++
- 프로그래머스C#
- cpp
- C
- 입출력
- dp
- horner
- 프로그래머스 c#
- 코딩테스트
- 통계학
- 통계
- 백준 9465
- 9095 C++
- 선형대수학
- 백준 C#
- horner algorithm
- 확률
- BFS
- 알고리즘
- 이분탐색
- 철자검사
- Today
- Total
목록작고소중한 알고리즘 풀기 (50)
HOIT_B
문제 https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net N = 1인 경우 1가지씩 => 9 N =2인 경우 12인 경우 0번자리는 1 0번 자리 1번 자리 1 2,0 2 1,3 3 2,4 4 3,5 5 4,6 6 6,7 7 6,8 8 7,9 9 8 N =3인 경우 0번자리 1번 2번 1 2,0 2(1,3),0(1) 2 1,3 1(0,2),3(2,4) 3 2,4 위와 같은 원리로 아래 쭉 4 3,5 - 5 4,6 - 6 5,7 - 7 6,8 - 8 7,9 - 9 8 - ARR[a][b] : a번째가 b일 때 나올 수 있는 수 Arr[2][1] = Arr[1][0..
문제 https://www.acmicpc.net/problem/9095 9095번: 1, 2, 3 더하기 각 테스트 케이스마다, n을 1, 2, 3의 합으로 나타내는 방법의 수를 출력한다. www.acmicpc.net 먼저 규칙을 찾았다. 규칙 n 방법 방법의 수 1 1 1 2 1+1 , 2 2 3 1+1+1, 1+2, 2+1, 3 4 4 1+1+1+1, 1+1+2, 1+2+1,2+1+1, 2+2, 1+3, 3+1 7 5 1+1+1+1+1, 1+1+1+2,1+1+2+1,1+2+1+1+,2+1+1+1,2+2+1,2+1+2,1+2+2, 2+3+3+2, 3+1+1,1+3+1,1+1+3 13 6 1+1+1+3, 1+1+3+1, 1+3+1+1, 3+1+1+1, 1+1+2+2, 1+2+2+1, 1+2+1+2, 2+..
문제 https://www.acmicpc.net/problem/7576 7576번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N이 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M,N ≤ 1,000 이다. 둘째 줄부터는 하나의 상자에 저장된 토마토 www.acmicpc.net 코드 다 만들었는데 제출 누르고 날아가서 의욕을 잃었다. 따라서 이번엔 코드가 없다. 며칠이 지나야 토마토가 다 익는지 구하는 문제 익은 토마토와 인접한 토마토는 하루가 지나면 익는다. (인접 : 상하좌우) 2
문제 https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하인 양의 정수이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍 www.acmicpc.net 연결된 노드의 개수를 찾는 문제라서 BFS로 풀었다. #include #include #include using namespace std; int visit[101]={0,}; //방문여부 int cnt =0; int n,m=0; void bfs(int num , vector v) { queue q; visit[num] = 1; q.push(num); while(!q.empty()) { int c..
문제 https://www.acmicpc.net/workbook/view/3492 문제집: 파라메트릭 서치(이분탐색(binary)/삼분탐색(ternary)) (daejjyu) www.acmicpc.net 변수명을 start mid end 로 하는게 편할것같다. 첫째 줄에 나무의 수 N과 상근이가 집으로 가져가려고 하는 나무의 길이 M이 주어진다. (1 ≤ N ≤ 1,000,000, 1 ≤ M ≤ 2,000,000,000) => 때문에 sum은 long long 4 7 20 15 10 17 start end mid sum sum m answer 0 20 10 10+5+2 =17 sum >= m 10 1511 20 15 5+2=7 sum == 7 15 16 20 18 2 sum < m 15 16 17 16 ..
문제 https://www.acmicpc.net/problem/1654 1654번: 랜선 자르기 첫째 줄에는 오영식이 이미 가지고 있는 랜선의 개수 K, 그리고 필요한 랜선의 개수 N이 입력된다. K는 1이상 10,000이하의 정수이고, N은 1이상 1,000,000이하의 정수이다. 그리고 항상 K ≦ N 이다. 그 www.acmicpc.net 파라메트릭 서치 최적화 문제( 최소/최대값 구하는 문제 ) -> 결정 문제 바꾸어푸는 것. 그냥 탐색으로 풀면 시간초과를 받는다. 탐색인데 수가 크다면 의심해보자. #include #include #include #include #include #include #include #include using namespace std; int main() { ios_ba..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/87946?language=cpp 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 코드 #include #include #include using namespace std; int num=0; int visited[9]={0,}; //방문 : 1 , 방문X : 0 int dfs(int cnt, int k, vector dungeons) { // cnt : 던전 탐험 수 , num : 최대 던전 탐험 수 if(cnt > num) num = cnt; f..
문제 https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 몸무게 적은 순으로 정렬 1번 하고 n번 더해서 limit 보다 작으면 answer 1회 추가 시작 인덱스++, 시작이랑 끝이랑 같으니까 end-- 더 크면 최소랑 탔는데 초과라 그냥 anwer++ , end-- 코드 #include #include #include using namespace std; int solution(vector people, int limit) { int answe..