일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 그래프
- GIT
- 세그먼트트리
- 문자열다루기
- 코딩테스트
- 배열
- 카카오블라인드
- 운영체제
- 자바
- 생명주기
- dfs
- 백준
- 완전탐색
- BOJ
- activity
- 알고리즘
- 동적계획법
- Android
- 코틀린
- 분할정복
- 다이나믹프로그래밍
- BFS
- 프로그래머스
- component
- 트리
- 코딩
- 문자열
- 안드로이드
- 이분탐색
- 스택
- Today
- Total
목록백준 (19)
HS_development_log
1. 문제 1032번: 명령 프롬프트 첫째 줄에 파일 이름의 개수 N이 주어진다. 둘째 줄부터 N개의 줄에는 파일 이름이 주어진다. N은 50보다 작거나 같은 자연수이고 파일 이름의 길이는 모두 같고 길이는 최대 50이다. 파일이름은 �� www.acmicpc.net 2. 알고리즘 파일의 최대길이는 50, 최대 개수도 50이므로 모든 문자열을 검사해본다. 경우의 수는 2500이므로 제한 시간 안에 해결할 수 있다. 모든 파일의 첫번째 문자를 검사한다. 모두 같다면 문자 그대로를 출력하고 하나라도 다르다면? 를 출력한다 모든 파일의 모든 인덱스에 대하여 2번을 반복한다. 3. 코드 /** * 2020.07.24 * 백준 1032 : 명령 프롬프트 * DevHyeonseong */ public class M..
문제 https://www.acmicpc.net/problem/13398 13398번: 연속합 2 첫째 줄에 정수 n(1≤n≤100,000)이 주어지고 둘째 줄에는 n개의 정수로 이루어진 수열이 주어진다. 수는 -1,000보다 크거나 같고, 1,000보다 작거나 같은 정수이다. www.acmicpc.net 연속합에서 하나를 제거할 수 있다는 조건이 붙은 문제. 처음에는 하나를 제거할때 마다 모든 경우의 수를 계산해보려고 했다. 그러나 아래의 문제점이 발견해서 다른 해결법으로 풀었다. 1. 시간 복잡도를 O(N)에 해결할경우 메모리를 많이써야해서 메모리 초과 2. 시간복잡도를 O(N^2)에 해결할 경우 시간 초과. 그래서 k번째 수를 제거하는 연속 합일 경우 k-1번째까지의 연속합과 k+1부터의 연속합을 ..
문제 https://www.acmicpc.net/problem/11057 11057번: 오르막 수 오르막 수는 수의 자리가 오름차순을 이루는 수를 말한다. 이때, 인접한 수가 같아도 오름차순으로 친다. 예를 들어, 2234와 3678, 11119는 오르막 수이지만, 2232, 3676, 91111은 오르막 수가 아니다. 수의 길이 N이 주어졌을 때, 오르막 수의 개수를 구하는 프로그램을 작성하시오. 수는 0으로 시작할 수 있다. www.acmicpc.net 알고리즘 자릿수가 n인 i로 끝나는 오르막수를 dp[n][i]로 정의한다 자릿수가 n인 오르막수의 개수는 자릿수가 n인 0부터~9까지로 끝나는 오르막수를 다 더하면 된다. 나머지 연산을 해서 출력한다. 소스코드 1 2 3 4 5 6 7 8 9 10 1..
문제 https://www.acmicpc.net/problem/1309 1309번: 동물원 첫째 줄에 우리의 크기 N(1≤N≤100,000)이 주어진다. www.acmicpc.net 인접한 곳에 사자를 배치하면 안 되는 문제. 배치하지 않았을 때, 왼쪽에 배치했을 때, 오른쪽에 배치했을 때의 경우의 수를 모두 더해주면 정답을 구할 수 있다. 9901로 나눈 나머지를 구해줘야 하므로 나머지 연산을 적용해서 정답을 적용한다. 알고리즘 사자를 n번째 줄 i번째칸에 배치하는 경우의 수를 dp[n][i]로 정의한다 dp[n][0] 는 사자를 0번째 칸에 배치하는 경우의 수이다. 이때 dp[n-1]의 1번째 칸과, 2번째 칸에 배치하는 경우의 수, 그리고 배치하지 않는 경우의 수를 더해주면 된다. 나머지 연산을 해..