묻공러
'자료구조 & 알고리즘/[합격자되기] C++ 코딩테스트' 카테고리의 글 목록

자료구조 & 알고리즘/[합격자되기] C++ 코딩테스트

자료구조 & 알고리즘/[합격자되기] C++ 코딩테스트

[코테 합격자 되기] 06/07장 스택과 큐

# 스택- 스택의 개념LIFO(Last In First Out)가장 최근에 들어온 원소가 가장 먼저 나오는 자료구조 - 스택을 언제 써야 하는가?가장 최근에 들어온 원소를 활용해야 하거나가장 최근에 들어온 원소 순서대로 활용해야 하는 경우에 스택을 써야 한다 - ADT?ADT(Abstract Data Type)는 추상 데이터 타입의 약어로세부 사항을 숨기고 사용자에게 필요한 기능만 명시한 것이다 - 스택의 ADT 참고 코드:https://github.com/dremdeveloper/codingtest_cpp/blob/main/STL/stack.cpp - 스택의 예시1) 함수 호출 2) 이전 페이지로 가기 3) 괄호 짝 맞추기해당 문제의 경우에닫힌 괄호를 가장 최근의 열린 괄호와 매칭하는 것이 핵심이다참고..

자료구조 & 알고리즘/[합격자되기] C++ 코딩테스트

[코테 합격자 되기] 04/05장 반드시 알아야 할 C++ 문법

# 데이터 타입 크기아래의 표를 살펴보면,운영체제에 따라 데이터 타입 크기가 달라지는 것은 long과 pointer이다 # 동적 배열동적 배열은 정적 배열과 달리 런타임 중에배열의 개수를 설정할 수 있다또한, 동적 배열은 힙에 할당이 되기에 new로 생성하고반드시 delete를 해줘야 한다int size;cin >> size;int* dynamicAttary = new int[size];...delete[] dynamicArray;// 반드시 delete # 배열의 성능맨 뒤 삽입은 O(1)맨 앞 삽입은 O(N) # 문자열의 메서드- 초기화- replace (문자열 대체)- + operator (문자열 추가)- substr (부분 문자열 제거)- find (문자열 검색)- length (문자열의 길이) ..

자료구조 & 알고리즘/[합격자되기] C++ 코딩테스트

[코테 합격자 되기] 03장. 시간 복잡도

# 알고리즘 정의수학과 컴퓨터과학에서 사용되는,문제 해결 방법을 정의한 '일련의 단계적 절차'이자어떠한 문제를 해결하기 위한 '동작들의 모임'이다.계산을 실행하기 위한 단계적 규칙과 절차를 의미하기도 한다.즉, 문제 풀이에 필요한 계산 절차 또는 처리 과정의 순서를 뜻한다.프로그램명령어의 집합을 의미하기도 한다.(출처: https://ko.wikipedia.org/wiki/%EC%95%8C%EA%B3%A0%EB%A6%AC%EC%A6%98) # 알고리즘 측정법알고리즘을 측정하는 방법은 총 2가지로 아래와 같다1. 절대시간 측정문제점:PC 환경이 모두 다르기에기준이 되는 PC 환경을 선정해서 일반화하기 어렵다따라서, 아래의 연산 횟수 측정을 사용한다 2. 연산 횟수 측정문제점:입력값에 따라 연산 횟수가 달라..

자료구조 & 알고리즘/[합격자되기] C++ 코딩테스트

[코테 합격자 되기] 00/01장 효율적으로 공부하기

# 문제 푸는 방법- 최소 30분에서 1시간은 혼자 고민하면서 풀기- 상수조건에 따른 접근 방법 생각- 의사코드를 먼저 작성하고 구현하기그 이유는문제점과 예외를 발견하기 쉽고전체적인 큰 그림을 볼 수 있기 때문이다주의 사항은일반인도 이해 가능한 수준으로 매우 쉽게 작성해야 하고프로그래밍적 문법은 최소화해서 작성하는 것이 좋다- 제출 전, 시간복잡도 분석하기 # 공부법답안 코드와 나의 코드를 비교하며,나의 문제점과 답안의 해결책을 정리한다그리고 답안에 사용된 알고리즘과 문제를 서로 연결해서 정리한다마지막으로, 깨달은 점을 정리한다 # 공부 주의사항아는 것만 공부하지 않도록 한다정리하는 경우, 단순 기록만 하는 것이 아닌 나만의 용어로 정리한다 # 테스트 케이스기본 케이스, 경계값, 에지케이스로 총 3가지로..