전체 글

전체 글

    [Algorithm] 스택 (Stack)

    [Algorithm] 스택 (Stack) 스택(Stack) -정의: 한쪽 끝에서만 원소를 넣거나 뺄수 있는 자료 구조(FIFO-First In Last Out). -연산 1) push(item) : 스택의 가장 위에 원소(item)를 추가 2) pop() : 스택의 가장 위에 있는 원소를 제거 3) isempty() : 스택이 비었으면 참(true)을 반환. 아니면 거짓(false). 4) top() : 스택의 가장 위에 있는 원소를 반환 -특징 1) FIFO-First In Last Out : 가장 최근에 push된 원소가 가장 먼저 pop된다. 2) 활용 : 수식의 괄호 쌍, 전위/중위/후위/표기법, DFS, Flood Fill, 문자열 뒤집기, 재귀 알고리즘, 웹 브라우저 방문기록, 실행 취소 등 ..

    [CS] Sub-process returned an error code

    sudo apt-get update를 하는데 이런 오류가 떴다. E: Problem executing scripts APT::Update::Post-Invoke-Success 'if /usr/bin/test -w /var/cache/app-info -a -e /usr/bin/appstreamcli; then appstreamcli refresh > /dev/null; fi' E: Sub-process returned an error code 아래 명령어를 쓰면 해결 sudo apt-get remove libappstream3 다시 sudo apt-get update 를 하면 잘된다.

    [BaekJoon] 백준 1919번 애너그램

    백준 1919번 애너그램 문제: https://www.acmicpc.net/problem/1919 내코드 -계속 배열을 0으로 초기화 안해줘서 틀림. 배열 쓸때 처음에 초기화 필수! #include #include using namespace std; int main(void) { ios::sync_with_stdio(false); cin.tie(0); int arrA[26]; int arrB[26]; string A, B; cin >> A >> B; for (int i = 0; i < 26; i++) { arrA[i] = 0; arrB[i] = 0; } for (int i = 0; i < A.length(); i++) { arrA[A[i] - 'a']++; } for (int i = 0; i < B.l..

    [BaekJoon] 백준 5397번 키로거

    백준 5397번 키로거 문제: https://www.acmicpc.net/problem/5397 코드 -처음에 vector로 풀려고 했더니 계속 시간초과남. -vector의 가장 큰 특징 중 하나는 원소가 하나의 메모리 블록에 연속하게 저장된다는 것. 따라서 원소가 연속하게 저장되므로 [] 연산자 또는 at 으로 읽기에는 빠르지만 insert(), erase(), push_back() 등은 비효율적으로 동작 -원소의 삽입, 삭제가 자유롭고 효과적인 list로 짜야함(stack으로 짠 경우도 있음 https://deliorange.tistory.com/66) #include #include #include using namespace std; int main() { ios::sync_with_stdio(f..

    [BaekJoon] 백준 1475번 방번호

    백준 1475번 방번호 문제: https://www.acmicpc.net/problem/1475 내코드 #include #include using namespace std; int main(void) { ios::sync_with_stdio(false); cin.tie(0); int arr[10], max = 0; string num; cin >> num; for (int i = 0; i < 10; i++) { arr[i] = 0; } for (int i = 0; i < num.length(); i++) { if (num[i] == '9' || num[i] == '6') { arr[6]++; } else arr[num[i] - 48]++; } arr[9] = arr[6] / 2; if (arr[6] % ..

    [BaekJoon] 백준 1158번 요세푸스 문제

    백준 1158번 요세푸스 문제 문제: https://www.acmicpc.net/problem/1158 내 코드 #include #include using namespace std; int main(void) { ios::sync_with_stdio(false); cin.tie(0); vector arr; int n, k; cin >> n >> k; for (int i = 0; i < n; i++) { arr.push_back(i + 1); } int idx = k - 1; cout 1) { cout

    [BaekJoon] 백준 11328번 Strfry

    백준 11328 Strfry 문제 https://www.acmicpc.net/problem/11328 내 코드 -memset을 잘못써서 계속 오류.. 초기화 할때는 memset사용 자제하기 #include #include "string" using namespace std; int main(void) { ios::sync_with_stdio(false); cin.tie(0); int n = 0; cin >> n; int length = 'z' - 'a' + 1;//알파벳 개수 int *cntA = new int[length]; int *cntB = new int[length]; while (n--) { string a, b; cin >> a >> b; //cntA, cntB를 0으로 초기화 for (in..

    [C++] 이러한 피연산자와 일치하는 ">>" 연산자가 없습니다.

    이러한 피연산자와 일치하는 ">>" 연산자가 없습니다. 피연산자 형식이 std::istream >> std::string 입니다. -> 해결: #include "string" 추가