MoonBug

고정 헤더 영역

글 제목

메뉴 레이어

MoonBug

메뉴 리스트

  • 홈
  • 태그
  • 방명록
  • 분류 전체보기
    • Portfolio
      • Toy Project
      • 쥐돌이볼링
    • Trip
    • Cooking
    • Game
    • Diary
      • 잡생각
    • C++
      • Baekjoon
      • Programmers
      • 개념공부
      • STL
    • Study
      • Linux
      • Graphics
      • UNREAL
      • Computer Network
      • 강화학습
      • Algorithm
      • OS

검색 레이어

MoonBug

검색 영역

컨텐츠 검색

C++

  • [Level1.] 예산 C++

    2024.02.15 by J2on

  • Deque(및 Queue, stack)의 메모리 관점에서 구현 방식

    2024.02.07 by J2on

  • C++ Smart Pointer에 대하여

    2024.02.07 by J2on

  • C++ Lvalue와 Rvalue

    2024.02.07 by J2on

  • C++ 삼항연산자 ( a > b ? 1 : 2 )

    2024.02.07 by J2on

  • [Level2.] 광물 캐기 C++

    2024.02.05 by J2on

  • [Level2.] 귤 고르기 C++

    2024.02.04 by J2on

  • [Level2.] 구명보트 C++

    2024.02.04 by J2on

[Level1.] 예산 C++

> https://school.programmers.co.kr/learn/courses/30/lessons/12982 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr > #include #include #include #include #include using namespace std; int solution(vector d, int budget) { int answer = 0; sort(d.begin(), d.end()); for(auto& a : d){ budget -= a; if(budget >= 0 ){ answer++; } } return answ..

C++/Programmers 2024. 2. 15. 20:13

Deque(및 Queue, stack)의 메모리 관점에서 구현 방식

dequeue deque는 양 쪽에서 push와 pull이 가능한 자료구조 이다. list는 linked list형태로 제작되었고, vector는 연속된 메모리 공간에 존재한다. 그럼 deque는? → 둘 다 좀 다름 deque의 경우 각 object를 가리키는 pointer들의 연속된 집합으로 이루어짐. value 값은 다른 공간에 저장을 해두고, 그 공간을 가리키는 pointer만 연속적으로 저장 장점 Random Access도 가능함 연속적인 공간의 크기가 작아도 됨 Pointer의 작은 크기 덕에 다른 자료형을 연속적으로 저장하는 것보다 작음 vector는 크기가 커질 때, 다른 공간에 복사하는 작업이 필요 → deque는 이런 작업이 적게 일어남. 단점 Random Access시에 한 단계 더 ..

C++/개념공부 2024. 2. 7. 19:31

C++ Smart Pointer에 대하여

C++의 큰 특징 중 하나 Pointer를 이용한 직접적인 메모리 관리가 가능하다. 하지만, 프로그래머가 직접 관리하다보니 메모리 누수가 발생할 수 있다. 이를 위해 Smart Pointer를 사용한다. Smart Pointer는 일반 Pointer를 wrapping하는 형태로 구성된다. Smart Pointer의 종류 1. unique_ptr (Unique Pointer) 어떠한 object가 오직 한 개의 참조만이 가능할 때, 새로운 참조가 생기면 기존 pointing을 끊어버리는 것. #include #include class MyClass { public: MyClass() { std::cout

C++/개념공부 2024. 2. 7. 18:17

C++ Lvalue와 Rvalue

제가 이해한 것으로 작성하는 글이라 틀린부분이 있을 수 있습니다. 혹시 잘못된 부분이 있다면 알려주세요. lvalue와 rvalue를 이해하기 전에 먼저 glvalue와 prvalue, xvalue에 대해 알아야 한다. glvalue (Generalized Lvalue) glvalue는 평가에서 개체, 비트 필드 또는 함수의 ID를 결정하는 식입니다. 라는 microsoft의 설명 쉽게 말해 glvalue는 메모리 주소를 나타내는 표현식이다. 그리고 glvalue에는 lvalue와 xvalue가 속한다. prvalue (Pure Rvalue) prvalue는 연산자의 피연산산자 값을 계산하는 식, 주로 함수 호출 반환 값 or 상수 a = 3 주소 rvalue -> 값 & 주소 이렇게 저장할 수 있다는 ..

C++/개념공부 2024. 2. 7. 17:25

C++ 삼항연산자 ( a > b ? 1 : 2 )

삼항연산자는 C와 C++에서만 존재하는 독특한 연산자 a > b ? 1 : 2 위 식에서는 a와 b를 비교하고 true라면 1을, false라면 2를 return한다. 즉 조건문 ? true일때 값 : false일 때 값 이렇게 활용되는 것이다. 이러한 삼항연산자는 lvalue로써도 사용할 수 있다. ((i < 3) ? i : j) = 7; 이 경우 i가 3보다 작은 경우에 i에 7을 저장하고, 그렇지 않다면 j에 7을 저장한다. 참고 : https://tcpschool.com/cpp/cpp_operator_etc 코딩교육 티씨피스쿨 4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등 tcpschool.com

C++/개념공부 2024. 2. 7. 16:55

[Level2.] 광물 캐기 C++

> https://school.programmers.co.kr/learn/courses/30/lessons/172927 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 미네랄 벡터를 한 세트당 최대 다섯개로 묶었습니다. 세트 별로 다이아몬드, 철, 돌로 Priority Queue를 이용해 내림차순 정렬하여, 가장 먼저 나오는 세트부터 높은 곡괭이를 부여했습니다. 여기서 실수하기 쉬운 것은... 곡괭이 수를 넘어서는 미네랄들은 터치할 수 없다는 것입니다. 아예 고려할 필요가 없는 것이죠. 그걸 생각 안하고 풀었다가 8번 케이스만 통과 못해서 고민을 좀 했습니..

C++/Programmers 2024. 2. 5. 17:12

[Level2.] 귤 고르기 C++

> https://school.programmers.co.kr/learn/courses/30/lessons/138476 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 귤의 배열을 받아 최소 몇가지 종류로 k개를 고를 수 있는지 확인하는 문제입니다. 각 귤 종류별로 개수를 정리하고, 개수를 priority_queue에 넣어서 개수가 큰 것부터 꺼냈습니다. 확실히 자료구조 사용에 익숙해지니 이런 문제는 쉽게 해결할 수 있네요. STL 최고 > #include #include #include using namespace std; int tCount[100000..

C++/Programmers 2024. 2. 4. 16:07

[Level2.] 구명보트 C++

> https://school.programmers.co.kr/learn/courses/30/lessons/42885 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 잠깐 생각해보면 만약 보트를 둘이 같이 탄다고 했을 때, 가장 합리적인건 조합으로 짜는거겠죠. 그걸 이용하면 쉽게 풀 수 있습니다. > #include #include #include using namespace std; int solution(vector people, int limit) { int answer = 0; int num = people.size(); s..

C++/Programmers 2024. 2. 4. 00:49

추가 정보

인기글

최신글

페이징

이전
1 2 3 4 5 6 ··· 15
다음
TISTORY
MoonBug © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바