맥북에서 C++ 개발 환경을 세팅해본다.알고리즘 문제풀이용으로 맥에서 C++코드를 실행할 환경 구축이다.윈도우에서는 Code Block이라는 IDE를 사용하고 있었는데, 맥북은 해당 프로그램이 실행되지 않는다.그렇다고 맥의 XCode를 사용하자니 너무 무겁다.. 기존에 주로 사용하는 VSCode를 사용하여 맥북에서 C++개발 환경을 세팅해보자.VSCode, Visual Studio Code는 경량화된 텍스트 편집기로 이 자체는 IDE가 아니지만 강력하고 수많은 플러그인들을 설치할 수 있어 구성만 잘 해놓으면 유료툴 못지않게 사용이 가능하다. 준비물은 다음과 같다.Visual Studio CodeCode RunnerC/C++1번 준비물은 구글에 저대로 검색해서 나오는 공식사이트에서 다운로드받아 설치하면 된..
CPP
문자열 문제들을 다음과 같이 풀었다.https://www.acmicpc.net/problem/11720https://www.acmicpc.net/problem/2675http://www.acmicpc.net/problem/2908https://www.acmicpc.net/problem/1316https://www.acmicpc.net/problem/1152 기존에 내가 익숙하게 사용하던 언어들은 기본적으로 string 클래스 자체에 내장된 기능들이 많았었는데, C++은 그런게 조금 부족했다. 일단 어떤 문자열의 앞 뒤 공백을 제거해주는 trim() 함수도 기본 제공이 안되어있어 직접 구현을 해야했었다. 11720번 string을 다루는데 필요한 스킬들이 몇개 있어 이를 정리한다. ✅ string 객체에 ..
배열은 가장 기본적인 자료구조로 많이 익숙해지는게 좋다고 생각한다. 추후에 자료구조를 공부할 때 바탕이 될 녀석이다. https://www.acmicpc.net/problem/10818https://www.acmicpc.net/problem/2562https://www.acmicpc.net/problem/3052https://www.acmicpc.net/problem/4344https://www.acmicpc.net/problem/1546 이번에는 좀 막혔던 부분이 있어 그것들을 중점적으로 정리한다.4344번 해당 문제를 풀며 막혔던 부분이 두 군데 있었다.cout객체를 통해 실수를 출력할 때, 소수점 자리를 어디까지 출력할지 정하는 방법?가변 길이 배열을 만드는 방법?첫번째의 정답은 바로 cout.pr..
C++의 조건문과 반복문은 만약 다른 프로그래밍언어를 하나라도 배워본 경험이 있다면 충분히 풀 수 있는 난이도이므로 내가 풀었던 리스트만 공유한다. 조건문https://www.acmicpc.net/problem/9498https://www.acmicpc.net/problem/2884https://www.acmicpc.net/problem/2525https://www.acmicpc.net/problem/2480 반복문https://www.acmicpc.net/problem/8393https://www.acmicpc.net/problem/2739https://www.acmicpc.net/problem/2438https://www.acmicpc.net/problem/15552 반복문의 15552번 같은 경우,..
C++로 코딩테스트를 준비하며 이전에 Javascript로 풀었었던 기본 문제들을 다시 C++로 풀어보기 시작한다. 기본적인 구현들이 가능한지 점검하는 단계로 나는 아래 5문제들을 풀었다.https://www.acmicpc.net/problem/2557https://www.acmicpc.net/problem/1000https://www.acmicpc.net/problem/10998https://www.acmicpc.net/problem/10869https://www.acmicpc.net/problem/2588 크게 어려움은 없었고 아래는 실제 구현을 하면서 작성하는 노트이다.C++의 기본적인 입출력은 cin, cout 표준 객체를 통해서 진행할 수 있다.iostream 헤더파일을 include 시켜야하고..
1. 개요최근 코딩 테스트 준비를 위한 C++언어를 공부하며 캡슐화 그리고 정보 은닉이라는 단어를 보았다.내가 주력으로 사용하는 Apex나 Java 언어를 공부할 때 객체 지향 프로그래밍, 즉 OOP의 개념에 대해서 공부를 했던 기억이 난다. 그러나 뭔가 추상적으로 책에 쓰여진 내용들은 사실 마음에 깊게 와닿지 않았었다. 그리하여 이번에 정확히 OOP가 무엇이고 어떻게 우리가 구현을 해야하는지 공부를 시작하기로 하였다.아직 우선순위는 아니고 다른 공부들을 해가며 틈틈히 자료들을 찾아볼 계획이다. 이번 포스팅은 OOP를 공부하다보면 보게되는 캡슐화와 정보 은닉에 대하여 서술하려 한다. 일단, 지금까지 나는 부끄럽지만 캡슐화와 정보 은닉에 대해 다음과 같이 생각하고 있었다.캡슐화 = 객체 내부를 캡슐처럼 감..
클래스의 개념 (객체 지향 프로그래밍) C++는 C언어에 객체 지향 프로그래밍의 개념을 더한 언어이다. 객체 지향 프로그래밍, OOP, Object-Oriented Programming은 모든 데이터를 객체(Object)로 표현하며, 객체가 바로 프로그래밍의 중심이 되는 방법론이다. 객체는 실생활에서 우리가 인식할 수 있는 모든 사물이 될 수 있다.이러한 객체의 상태(state)와 행동(behavior)을 구체화하는 형태의 프로그래밍이 바로 OOP이다.그리고 이와 같은 객체를 만들어내기 위한 틀이 바로 클래스이다. 흔히 드는 비유로, 클래스는 붕어빵 틀이고 객체는 그 틀에서 찍혀나오는 붕어빵 이라고 한다. 클래스는 어떤 객체의 개념, 설계도 혹은 형틀 등등 이러한 느낌의 무언가라고 생각하면 되겠다. O..