일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코딩테스트
- sw expert
- English
- nightroutine
- englishbook
- 직무면접
- 알고리즘 문제
- 코테
- SQL
- D4
- swexpertacademy
- MySQL
- 백준
- the midnight library
- 원서
- STUDYENGLISH
- sw expert academy
- 완전탐색
- 원서읽자
- 코테 대비
- 프로그래머스
- 원서읽기
- 코테 준비
- readingbook
- PyQt
- BFS
- 알고리즘
- 삼성
- dfs
- 쉬운 알고리즘 문제
- Today
- Total
목록알고리즘 문제 (57)
시나브로
쉬운 문제를 자꾸 틀렸습니다가 떠서 놀랬는데 데이터를 다 못 받아서 그랫던 것이다.... 시뮬레이션이라고 하길래 간단하게 시뮬 구현해서 풀었다. #include int main(void) { int n, k; scanf("%d %d", &n, &k); int list[30] = { 0 }; char buffer = 0; for (int i = 0; i 0) { for (int i = 0; i < point-1; i++) { list[i] = list[i + 1] - list[i]; } k--; point--; } for (int i = 0; i < poi..
길이가 Lcm 인 장대 위를 N마리의 개미가 초당 1cm의 속도로 걷고 있습니다 .개미는 장대의 끝에 도착하면 장대의 및으로 떨어집니다. 또한, 장대 위는 매우 좁아서 교차할 수 없어 두 마리의 개미가 마주치면 반대 방향으로 돌아가야 합니다. 우리는 개미가 장대의 어디에 위치(Xi)하고 잇는지를 알 수 있습니다만, 불행히도 어느 쪽으로 향해 걷고 있는 지는 알 수 없습니다. 모든 개미가 자애로부터 떨어질 때까지 걸리는 최소시간과 최대시간을 각각 구하세요. 이라는 문제가 있었을 때, 재귀 함수로 전체 탐색을 하는 경우를 생각할 수 있다. 의 경우는 2^n으로 계산량이 증가한다. 더 나은 솔류션을 생각해보자. 가장 빠른 시간은 모든 개미가 가까운 장대 끝으로 향하는 것이다. 가장 느린 시간은 반대이면 된다...
10까지의 합이면 1+2+3+4+5+6+7+8+9+10 = (1+10)+(2+9)+(3+8)+(4+7)+(5+6)= 11*5 로 표현할 수 있다. 숫자 짝수일 때는 중간의 수를 한번더 더해주면 된다. #include int main(void) { freopen("inp.inp", "r", stdin); freopen("out.out", "w", stdout); int number = 0; scanf("%d", &number); int box = 0; for (int i = 1; i
이 문제에 오버타임에 대한 댓글이 있어서 데이터량이 큰 것을 알았다. 또한. 이 문제의 경우에는 테스트 케이스 수에 대한 정보도 없어서 테스트 케이스가 얼마나 많이 들어올지도 모른다는 것이다. 그래서 첫 번째로 생각한 솔류션은 list 배열에 각 인덱스에 대응하는 약수 개수를 저장해놓고 처음부터 각 값까지 max값을 계산해였다. 하지만, 이 경우, 문제 자체의 개수도 많았기에 5개뿐이 맞추지 못했다. 그래서 새로운 솔류션을 생각했다. list 배열에 차원을 하나 더 늘려 그 숫자까지의 max 값을 저장하는 것이었다. 그렇게 되면 처음 약수의 개수를 찾는 for문과 그 숫자까지의 max 값을 찾는 for문을 이용하여 값을 빠르게 찾을 수 있다. 시간복잡도는 100000(약수 개수 찾기)+100000(max..