일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 카카오인코더
- 백준
- DP
- 머신러닝
- ADAS
- c
- c++
- 인코더
- 연결리스트
- Rebase
- hackerrank
- 백트래킹
- Kotlin
- 스프링프레임워크
- python3
- Map
- Android
- 스프링 프레임워크
- spring
- 프로그래밍
- 안드로이드
- 블로그개설
- stl
- 프로그래머스
- BFS
- TensorFlow
- retrofit
- 스프링
- vue.js
- Today
- Total
목록Study (37)
이것저것 공부한 기록
https://www.acmicpc.net/problem/10844 10844번: 쉬운 계단 수 첫째 줄에 정답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 전체 합을 구하기 위해... 각 케이스의 점화식을 나눠서 계산 할 필요가 있다는 것을 뼈저리게 ㄴ꼈다 9->0이 계단수가 될 수 없고 0->9로 만들 수 없다는 걸 첨부터 깨닫긴 했는데 이걸 어떻게 식으로 만들지를 몰라서 한참 헤멨음 결론은... 길이별 끝 자리수를 나눠서 계산해야 한다 n개의 숫자를 사용하는 수들 중에 맨 끝 자리가 1이 되려면 그 전자리수가 2나 0이여야 함. 121, 101, 321 ... 그러니까 결국 n-1개의 숫자를 사용할 때 맨 끝 자리수가 2였던 경우와 0이였던 경우의 수를 더하면..
https://www.acmicpc.net/problem/2579 2579번: 계단 오르기 계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. 과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점수를 얻게 된다. 예를 들어 와 같이 시작점에서부터 첫 번째, 두 번째, 네 번째, 여섯 번째 계단을 밟아 도착점에 도달하면 총 점수는 10 + 20 + 25 + 20 = 75점이 된다. 계단 오르는 데는 다음과 같은 규칙이 있다. 계단은 한 번에 한 계단씩 www.acmicpc.net ㅋ ㅋ...ㅋㅋㅋ 장난 끝 계단을 꼭 올라야 한다는 거에 사로잡혀서 끝부터 계산한다고 삽질했다. 규칙을 그래프로 그려서 덩어리로 뭉뚱그리는게 훨 편하다고 ..
https://www.acmicpc.net/problem/1149 1149번: RGB거리 RGB거리에 사는 사람들은 집을 빨강, 초록, 파랑중에 하나로 칠하려고 한다. 또한, 그들은 모든 이웃은 같은 색으로 칠할 수 없다는 규칙도 정했다. 집 i의 이웃은 집 i-1과 집 i+1이고, 첫 집과 마지막 집은 이웃이 아니다. 각 집을 빨강으로 칠할 때 드는 비용, 초록으로 칠할 때 드는 비용, 파랑으로 드는 비용이 주어질 때, 모든 집을 칠하는 비용의 최솟값을 구하는 프로그램을 작성하시오. www.acmicpc.net 학부생때도 제대로 해본 적 없는 DP... 일단 문제를 많이 풀어보라는 게 이런 의미였구나 하고 체감하는 중. 이런 류의 문제는 지금 느끼기엔 일단.. 기준을 어떻게 두고 구할 것인지를 찾는게 ..
일반적으로, scanf랑 cin 1. 공백을 포함하여 한 줄을 통째로 입력받아야 하는 경우 string s; getline(cin, s); 2. 그리고 입력의 크기가 매우 큰 경우, fgets사용. char s[1000]; fgets(s, 1000, stdin); string line(str); fgets(char *s, int num, FILE *ptr)의 형태. 3. 한 글자씩 받고자 할 때 scanf("%1d",&a); 4. EOF까지 입력받기 while (scanf("%d", &n) != EOF); while (scanf("%d", &n) != -1); while (~scanf("%d", &n)) 3번째 줄 ~의 의미 -1은 2진수로 표현하면 1111 1111 ... 1111임. 근데 여기에 ~를..
사용 목적 - 변수를 상수처럼 사용하고자 할 때 - 상수화가 보장되어야 할 때 (가독성도 포함해서) - 초기 설정한 상수값을 절대 변경할 수 없음. const int num = 10 ; -> 변수 num의 상수화 const int *ptr1 = &val1 ; ptr1 = 20 ; //에러 ptr1 = &anotherPoint ; //에러 아님 -> ptr1을 통한 val1값 변경이 불가능하게 한다. -> 주소는 변경 가능. int * const ptr2 = &val2 ; ptr2 = &anotherPoint ; // 에러 *ptr2 = 25000 ; //에러 아님 -> ptr2포인터 자체가 상수화. -> 주소 변경 불가능. -> ptr2을 통한 val2의 값 변경이 가능. const int * const..