일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- algorithm
- 코딩테스트
- javascript
- SWEA
- 프로그래머스
- android
- codecademy
- 클린코드
- SQL
- Kotlin
- CSS
- 해슁
- front-end
- BFS
- inflearn
- Web
- Spring
- 검색트리
- html
- 정렬
- 순환
- CleanCode
- 알고리즘
- 구현
- java
- DFS
- DP
- 다이나믹 프로그래밍
- Color
- 자바
- Today
- Total
목록Algorithm/Algorithm-Log (4)
깡뇽
String 스트링char를 사용해 문자열을 표현하려면, char str[100]; 선언 후 문자열 끝에 null 문자('\0')가 있어야 한다. C++ 에서는 #include 헤더를 사용해서 string을 다양하게 활용 가능하다.string s = "string"; 과 같이 타입으로 선언 가능하다.- 길이 : s.length()- 비교 : strcmp( 문자열1, 문자열2) -> 동일하면 0 -> 다르면 -1 (문자열1이 문자열2보다 사전순으로 앞) OR 1 (문자열1이 문자열2보다 사전순으로 뒤)- 결합 : strcat( 문자열1, 문자열2 ) -> 문자열2가 문자열1에 결합 * 결합에 += 연산자를 사용할 수..

Q. 주사위 게임을 했을 때, 나올 수 있는 모든 경우의 수를 구해보자. - 입력 : 주사위의 개수 → 정수 1개 - 출력 : 해당 주사위로 나올 수 있는 주사위 눈의 모든 경우 주사위 N개가 있다면, N개의 주사위에서 각 주사위 눈을 선택 ex. N = 3이면, 1번 주사위 -> 2번 주사위 -> 3번 주사위 순으로 작동 즉, 현재(now)에 a를 넣으면 다음(next)에서는 a+1을 넣음. 1부터 6 중에서 하나를 뽑고 다음 주사위로 넘어감. int path[10]; void func(int a){ //지금 a번째 주사위를 뽑을 차례 // 0~N-1번 : 정상 // N번 주사위~ : 존재하지 않는 주사위 // N번의 주사위까지 도달 -> 0~N-1번 주사위에서 모두 눈을 선택 완료. if(a>=N){..
함수 지역변수 : 함수 안에서 선언한 변수 전역변수 : 어디에서나 같은 변수 (공통 사용) + 함수의 파라미터(변수가 가지고 있는 값을 준 것)도 지역변수로 취급. 재귀함수 함수가 자기 자신을 호출하여 문제를 해결하는 방법 DFS, Union Find, 분할정복, DP(Top-Down)에서 활용. void func1(){ func1(); } int main(){ func1(); return 0; } 이때, 너무 많이 쌓이면서 Stack Overflow(메모리 부족) 발생. 특정 함수에서 멈추라고 해줘야 함. 작동을 멈출 함수를 정해야하고, 반복되는 함수들이 같은 함수이더라도 구분할 수 있어야 함. ⇒ 변수 활용 (매개변수 or 전역변수 활용 가능 / 매개변수 주로 사용) → void func1(int a..

Q. 만약 aabbccabcbc 가 주어졌을 때, 각 문자가 몇 개 존재하는지 알 수 있을까? - 목표 : '문자' → 해당 문자의 개수 찾기 ⇒ DAT 활용 DAT DAT : Direct Access Table 배열의 index에 의미를 부여함. int DAT[]; 로 정의한 배열에서 index는 문자, value는 해당 문자 개수를 나타냄. WHEN : 기록 할 때 1) 카운팅 2) 존재 확인 WHERE : 배열의 삽입과 추출 . . . n 차원에서 방향을 가지고 사용할 때 BAD : 정수 외의 값(char까지는 가능)은 index로 사용 불가능 너무 큰 범위 사용 불가능 int main(){ char temp[100]; cin >> temp; int DAT[256] = {0, }; //기본적인 문자..