일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 알고리즘 공부방법
- 2557
- iOS14
- scanf
- 연결요소
- Django란
- 엑셀
- string 메소드
- 구조체와 클래스의 공통점 및 차이점
- Django Nodejs 차이점
- 매크로
- double ended queue
- 표준 입출력
- EOF
- 백준
- Django의 편의성
- 입/출력
- 이분그래프
- 시간복잡도
- string 함수
- c++
- 프레임워크와 라이브러리의 차이
- vscode
- correlation coefficient
- getline
- k-eta
- 장고란
- UI한글변경
- 입출력 패턴
- 자료구조
- Today
- Total
목록분류 전체보기 (865)
Storage Gonie
문제 풀이 # C++ - strlen 을 사용하기 위해서는 #include 이 필요하다. 아니면 string 을 사용해서 size 함수 혹은 length 함수를 사용. #include #include using namespace std; int main(void) { ios::sync_with_stdio(false); // 알파벳의 개수를 저장할 배열 초기화 int count[26]; for(int i = 0; i > s; int len; len = strlen(s); for (int i = 0; i < len; i++ ) { int index; index = int(s[i]) - 97; // 'a'..
문제 풀이 # C++(직접구현) 심화과정을 거치고 난 뒤 할 것 # C++(STL 사용) #include #include using namespace std; int main(void) { ios::sync_with_stdio(false); deque deq; int N; cin >> N; while(N--) { string cmd; cin >> cmd; if (cmd == "push_front") { int num; cin >> num; deq.push_front(num); } else if (cmd == "push_back") { int num; cin >> num; deq.push_back(num); } else if (cmd == "pop_front") { if (!deq.empty()){ cout
문제 풀이 # C++ #include #include using namespace std; int main(void) { ios::sync_with_stdio(false); int N; int K; cin >> N >> K; queue q; // 1 ~ N의 숫자를 큐에 push하여 초기상태 만들기 for (int i = 1 ; i
문제 풀이 # C++(직접구현) #include using namespace std; struct Queue{ int data[10000]; // 입력의 조건을 보고 충분한 크기로 해줘야 채점시 런타임에러가 발생하지 않는다. int begin, end; // 멤버변수를 초기화 해주는 생성자(필수) Queue(){ begin = 0; end = 0; } void push(int num) { data[end] = num; end += 1; } int pop() { if (empty()) return -1; else { begin += 1; return data[begin-1]; } } int size() { return end - begin; } bool empty() { return (size() == 0..
문제 풀이 # C++(내가 푼 방법) - 스택의 내용을 모두 출력하거나 할 때 len = stack.size() for(i =0; i> str; cin >> N; // 커서가 맨 뒤에 있는 상태로 스택의 초기상태를 만들어 주는 것 for (int i = 0; i < str.size() ; i++) left_st.push(str[i]); // 명령어가 수행되는 부분 while(N--){ string cmd..
문제 풀이 # C++(내가 푼 방법) - 가장 간단한 입력을 통해 생각을 해보자. ex) ( ( ) ) = 2개, ( ( ) ( ) ) = 3개 - 이것들은 어떻게 계산될 수 있을까? - '(' 이면 스택에 넣고 - '( )' 레이저가 나오면 스택에서 '('를 하나 빼고 스택에 있는 원소의 개수를 정답에 더한다. - ')'가 나오면 스택에서 '('를 하나 빼고 정답에 1을 더한다. #include #include using namespace std; int calculateAnswer(string str) { int answer = 0; stack st; for (int i = 0; i < str.size(); i++) { if (str[i] == '(') //막대의 시작인 경우 st.push('(');..
문제 풀이 방법1. 하나씩 짝을 찾는 방법 => O(N^2)의 시간복잡도 방법2. 스택을 이용하여 짝이 맞는지 확인하는 방법 => O(N)의 시간복잡도 방법3. 개수를 세는 방법 => O(N)의 시간복잡도, 스택을 사용하지 않아도 되므로 구현이 용이 # C++ #include using namespace std; int main(void) { ios::sync_with_stdio(false); int N; string str; // 입력을 받기위한 변수 int cnt = 0; // 개수를 세기위한변수 cin >> N; while (N--) { cin >> str; for (int i = 0; i < str.size(); i++) { if (str[i] == '(') cnt += 1; else if (st..
문자열 # 문자열 - 문자열은 아스키코드로 저장이 됨. # 아스키코드 - 문자 인코딩 방법 - 문자를 출력해보면 되므로 외울필요가 없다. - 숫자랑 글자랑 매치되는 테이블이 있어서, 저장할 때 숫자로 저장했다가 출력은 글자로 해주는 것으로 이해하면 됨. @ 예시 - '0' => ASCII코드값 : 48 - 'A' => ASCII코드값 : 65 - 'a' => ASCII코드값 : 97 - ASCII코드값 : 48 => '0' - ASCII코드값 : 0 => NULL printf("%c\n", 65); // 문자 'A'가 출력됨. printf("%c\n", 48); // 문자 '0'이 출력됨. # 알파벳 개수 문제 - https://www.acmicpc.net/problem/10808 # 알파벳 찾기 문제 ..
덱의 개념 # 덱이란 - Deque, Double-ended queue의 약자이다. - 양 끝에서만 자료를 넣고 양 끝에서 뺄 수 있는 자료구조 - 큐는 push, pop을 할 수 있는 위치가 한 방향으로 고정되어 있지만, 덱은 앞에서도 push, pop, 뒤에서도 push, pop이 모두 가능하다. - 중요한 자료구조는 맞지만, 덱의 특징을 이용해서 문제를 푸는 경우는 많지 않음. # 직접 구현하기 위해 필요한 요소 - 앞, 뒤에서 삭제 추가 연산이 일어나기 때문에 보통 이중 연결리스트로 구현한다고 함 # 덱의 연산 - push_front() : 덱의 앞에 자료를 넣는 연산 - pop_front() : 덱의 앞에서 자료를 빼는 연산 - push_back() : 덱의 뒤에 자료를 넣는 연산 - pop_b..
큐의 개념 # 큐는 무엇인가 - 한쪽 끝에서만 자료를 넣고 다른 한쪽 끝에서만 뺄 수 있는 자료구조 - 먼저 넣은 것이 가장 먼저 나오기 때문에 First In First Out(FIFO) 라고도 한다. - push와 pop을 진행하다보면 begin변수의 값은 계속 증가만 하기 때문에 배열이 꽉 차지 않은 상황임에도 더이상 데이터를 집어넣을 수 없는 상황이 발생한다. 이를 보완한 방법으로 '순환큐'라는 게 존재하는데 이는 심화과정이므로 나중에 공부하고 일단 아래 부분들만 알아두자. # 직접 구현하기 위해 필요한 요소 - 데이터를 저장할 '배열' (링크드리스트로 구현할 수도 있다고 함) - pop하면 나올 위치를 가리키는 'begin 변수' - push가면 들어갈 위치를 가리키는 'end 변수' # 큐의 ..