본문 바로가기

알고리즘

(44)
자료 구조 Orientation Goal자료구조에 대한 이해자료 구조(Data Structure)개념 : 자료를 효과적으로 표현, 저장, 처리하기 위한 기술 또는 그러한 형태사용 이유 : 자료의 특성이나 자료간의 관계 등에 따라 효율적으로 관리하기 위해 적절한 자료구조가 필요자료 구조의 구분자료들은 여러 가지 형태로 분류할 수 있다. - 정수, 실수, 문자 등과 같이 프로그래밍 언어 차원에서 기본적으로 제공되는 원시 타입(Primitive type)- 여러 자료구조가 복합적으로 구성된 복합 자료 구조- etc 주로 다룰 내용은 복합 자료구조이다. 선형 자료구조 / 비선형 자료구조선형 자료구조개념 : 자료들을 구성하는 원소들을 순차적으로 나열 시킨 형태종류 : 배열(리스트), 연결 리스트, 스택, 큐, 데크 등특징 : 한 원소 뒤에 하나..
코딩 테스트 입문 (with C++) 백준 온라인 저지(BOJ)를 통한 코딩 테스트 이해 하기 BOJ 동작 원리 : https://www.acmicpc.net/blog/view/55 BOJ 채점 결과 : https://www.acmicpc.net/board/view/23037 BOJ 채점 결과 FQA : www.acmicpc.net/board/view/4206 어떤 코딩 테스트 사이트를 이용하는지에 따라 조금씩 차이가 있겠지만, 대부분은 위 내용과 비슷합니다. 코딩 테스트를 위한 C++ 입출력 이해하기 입출력 방식에 따라 성능의 차이가 발생하기 채점 결과가 달라질 수 있습니다. => 코딩 테스트를 위해서 입출력에 대한 이해를 할 필요 저는 C++ 언어를 사용할 것이기 때문에 C++에서 코딩 테스트를 위한 입출력 방식에 대해 말씀 드리겠습니다..
알고리즘 문제 풀이를 위한 C++ 개발 환경 개발 환경 세팅이 필요한 이유 : 프로그래밍 언어별, 버전별로 컴파일 환경이 달라진다. 다음은 백준 온라인 저지에서 C++ 소스 코드를 C++ 14로 컴파일 하는 정보입니다. 일반적으로 다음과 같은 절차로 알고리즘 문제 풀이 결과를 확인합니다. 프로그래밍 언어 선택 후 알고리즘 문제 풀이 채점 사이트에서 프로그래밍 언어와 버전 선택 후 소스 코드 제출 서버에서 채점 진행 (컴파일 되는지 검사, 제한 조건 검사, 출력 결과가 정상적인지 검사) 결과 확인 소스 코드를 제출하면 해당 컴파일러 환경에 맞게 서버에서 소스 코드를 컴파일해줍니다. 그렇기 때문에 최대한 비슷한 환경에서 코드를 작성하는 것이 좋습니다. 만약 다른 개발 환경에서 작성한 코드를 제출하면 정상동작 하지 않을 수 있습니다. ex) msvc 컴..
알고리즘 Orientation Goal 알고리즘이란? 알고리즘 성능과 복잡도에 대한 이해 시간 복잡도와 Big-O 표기법에 대한 이해 알고리즘 어떤 문제를 해결하기 위한 일련의 절차나 방법을 표현한 것 알고리즘 성능 분석 일반적으로 효율적인 알고리즘이라고 하면 실행 시간이 짧고 컴퓨터 자원을 적게 사용하는 알고리즘이다. => 알고리즘 성능 측면에서 일반적으로 시간과 자원사용을 중요시하기 때문 복잡도(Complexity) 알고리즘을 직접 구현하지 않고 대략적인 효율성을 분석하는데 사용하는 방법 종류 - 시간 복잡도(Time Complexity) - 공간 복잡도(Space Complexity) 복잡도 표현 방법 : 주로 점근적 표기법(Asymtotic Notation)을 사용 (주로 Big-O Notation이 사용됨) => 가장 좋은 ..