일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준 13460 Python
- Kotlin in action 10장
- 7장 고급매핑
- 코틸린인액션
- 객체 지향 설계와 스프링
- 코틀린인액션
- kotlin in action 정리
- Kotlin In Action
- spring
- 13460 구슬탈출 2
- KotlinInAction
- 싱글톤 컨테이너
- 스프링 핵심 원리
- 백준
- Python
- 고급매핑
- Kotlin in action 5장
- Kotlin in action 6장
- 컨베이어 벨트 위의 로봇 Python
- 코틀린
- 기능개발 python
- 스프링 컨테이너와 스프링 빈
- Kotlin in action 3장
- 스프링 핵심 원리 이해
- 20055 컨베이어 벨트 위의 로봇
- 20055
- 스프링 핵심 원리 - 기본편
- 백준 20055 컨베이어 벨트 위의 로봇
- Kotlin
- 자바 ORM 표준 JPA 프로그래밍 7장
- Today
- Total
목록알고리즘 (64)
기록하는 습관
문제 설명 한자리 숫자가 적힌 종이 조각이 흩어져있습니다. 흩어진 종이 조각을 붙여 소수를 몇 개 만들 수 있는지 알아내려 합니다. 각 종이 조각에 적힌 숫자가 적힌 문자열 numbers가 주어졌을 때, 종이 조각으로 만들 수 있는 소수가 몇 개인지 return 하도록 solution 함수를 완성해주세요. 제한사항 numbers는 길이 1 이상 7 이하인 문자열입니다. numbers는 0~9까지 숫자만으로 이루어져 있습니다. 013은 0, 1, 3 숫자가 적힌 종이 조각이 흩어져있다는 의미입니다. 입출력 예 numbers return 17 3 011 2 입출력 예 설명 예제 #1 [1, 7]으로는 소수 [7, 17, 71]를 만들 수 있습니다. 예제 #2 [0, 1, 1]으로는 소수 [11, 101]를 ..
1. 조합 STL함수 next_permutation을 활용한 조합 구현 void combinationSTL(vector set, int n, int r) { for (int j = 0; j < n - r; ++j) set.push_back(0); for (int j = 0; j < r; ++j) set.push_back(1); do { for (int j = 0; j < n; ++j) if (set[j]) printf("%d ", j); printf("\n"); } while (next_permutation(set.begin(), set.end())); } 재귀함수를 활용한 조합 구현 #include #define MAX 5 using namespace std; int Arr[MAX]; bool Sele..
문제 설명 수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는 방식: 1, 2, 3, 4, 5, 1, 2, 3, 4, 5, ... 2번 수포자가 찍는 방식: 2, 1, 2, 3, 2, 4, 2, 5, 2, 1, 2, 3, 2, 4, 2, 5, ... 3번 수포자가 찍는 방식: 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, 3, 3, 1, 1, 2, 2, 4, 4, 5, 5, ... 1번 문제부터 마지막 문제까지의 정답이 순서대로 들은 배열 answers가 주어졌을 때, 가장 많은 문제를 맞힌 사람이 누구인지 배열에 담아 return 하도록 solution 함수를 작..
STL(Standard Template Library) : C++의 템플릿을 사용하여 표준으로 정리된 라이브러리 컨테이너(Container) : 컨테이너란 기본 자료형과 유저가 정의한 자료형을 담는 일종의 자료구조 간단한 컨테이너 : pair 시퀀스 컨테이너 : vector, list, deque ... 연관 컨테이너 : set, map, multiset, multimap ... 어댑터 컨테이너 : queue, priority queue, stack ... 1. vector : 자동으로 메모리가 할당되는 동적배열로서, end에 요소를 삽입하는 연산은 상수 시간을 필요로 한다. 중간에 값을 삽입, 삭제 할 수 있지만 빈번해지면 비효율적이다. 생성자와 연산자 vector v; // 빈 벡터 생성 vector..
문제 N개의 풍선이 있다. 각 풍선 안에는 -N부터 N까지의 수가 적혀있는 종이가 들어 있다. 이 풍선들을 다음과 같은 규칙으로 터뜨린다. 우선, 제일 처음에는 1번 풍선을 터뜨린다. 다음에는 풍선 안에 있는 종이를 꺼내어 그 종이에 적혀있는 값만큼 이동하여 다음 풍선을 터뜨린다. 양수가 적혀 있을 경우에는 오른쪽으로, 음수가 적혀 있을 때는 왼쪽으로 이동한다. 풍선은 원형으로 놓여 있다고 생각한다. 즉, 1번 풍선의 왼쪽에 N번 풍선이 있고, N번 풍선의 오른쪽에 1번 풍선이 있는 것이다. 이동할 때에는 이미 터진 풍선은 빼고 생각한다. 예를 들어 다섯 개의 풍선 안에 차례로 3, 2, 1, -3, -1이 적혀 있었다고 하자. 이 경우 3이 적혀 있는 1번 풍선, -3이 적혀 있는 4번 풍선, -1이 ..
Vector vector.size() 는 실제 벡터에 들어있는 item의 수를 나타낸다. 반면, vector.capacity()는 벡터에 할당된 메모리 크기를 나타낸다. 따라서 size != capacity capacity grows exponentially. ex) vector v = {1,2,3,4}; // v.size() == v.capacity() == 4 v.push_back(5); // v.size() == 5; // v.capacity() == 8 여기서 v.capacity() == 8 인 이유는? 4 다음엔 8로 메모리 공간이 할당되기 때문이다. 이번엔 다음 예를 살펴보자. // EX1 vector v(5); // 선언과 동시에 초기화 // v.size() == 5, v.capacity()..
문제 정수를 저장하는 덱(Deque)를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여덟 가지이다. push_front X: 정수 X를 덱의 앞에 넣는다. push_back X: 정수 X를 덱의 뒤에 넣는다. pop_front: 덱의 가장 앞에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. pop_back: 덱의 가장 뒤에 있는 수를 빼고, 그 수를 출력한다. 만약, 덱에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 덱에 들어있는 정수의 개수를 출력한다. empty: 덱이 비어있으면 1을, 아니면 0을 출력한다. front: 덱의 가장 앞에 있는 정수를 출력한다. 만약 덱에 들어있는 정수가 없는 경우에..
문제 피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n>=2)가 된다. n=17일때 까지 피보나치 수를 써보면 다음과 같다. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377, 610, 987, 1597 n이 주어졌을 때, n번째 피보나치 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 n이 주어진다. n은 20보다 작거나 같은 자연수 또는 0이다. 출력 첫째 줄에 n번째 피보나치 수를 출력한다. #include #include int main() { int n, a=0, b=1; scanf..