Ha학생 블로그

고정 헤더 영역

글 제목

메뉴 레이어

Ha학생 블로그

메뉴 리스트

  • 홈
  • 분류 전체보기 (18)
    • Study (18)
      • Making (3)
      • AVR (4)
      • C++ (11)
      • AI (0)
    • Daily Life (0)
      • Trip (0)
      • Shoes (0)

검색 레이어

Ha학생 블로그

검색 영역

컨텐츠 검색

Study

  • C++ 백준 7662

    2023.10.02 by Ha학생

  • C++백준 7576번

    2023.09.23 by Ha학생

  • C++ 백준 1927,11279,11286 최소 힙, 최대 힙, 절댓값 힙

    2023.09.23 by Ha학생

  • C++ 백준 1158번

    2023.09.15 by Ha학생

  • C++ 백준 10845번

    2023.09.14 by Ha학생

  • C++ 백준 10828번

    2023.09.14 by Ha학생

  • C++ 생성자 초기화 리스트, const,static변수 등등

    2023.09.10 by Ha학생

  • C++ 복사 생성자,소멸자

    2023.09.10 by Ha학생

C++ 백준 7662

안녕하세요. 오늘은 백준 7662번 문제를 풀어봤습니다. 잘 부탁드려요~ 문제 다음 문제는 이중 우선수위 큐를 구현하는 문제입니다. 최대힙, 최소힙을 이용해서 문제를 풀면 됩니다. 하지만 C++ STL안에 힙에선 마지막 값을 없앨 방법이 없어. set을 이용하여 구현했습니다. set으로 최소 힙을 구현하여 최솟값을 삭제할 때는 맨 앞의 수를 지워주고 최대 값을 뺄 때에는 맨 뒤의 값을 빼서 구현했습니다. 처음은 몇 번의 테스트를 진행하냐라는 값이고요 다음 7은 몇 번의 명령어를 넣어볼 거냐 라는 값입니다. 모두 명령어를 넣으면 왼쪽 출력과 같이 각각 남은 set의 최댓값과 최솟값을 출력하는 알고리즘입니다. 보시면 I 정수면 set에 정수를 넣습니다. D -1 이면 최솟값을 빼라는 명령어이고 D 1 이면 ..

Study/C++ 2023. 10. 2. 20:46

C++백준 7576번

안녕하세요. 하학생입니다. 오늘 정말로 어려운 문제를 가져왔습니다. 백준 7576 풀어봤습니다. 재미있게 봐주세요! 문제 두 정수 M,N을 입력으로 받고 토마토의 상태를 입력습니다. 전체 코드 #include #include #include using namespace std; int dx[4]={1,0,-1,0}; int dy[4]={0,1,0,-1}; int N,M,result=0; int graph[1001][1001]; struct tomato { int y, x; }; bool Inside(int ny, int nx) { return (0 M>>N; for(int i=0;igraph[i][j]; if(graph[i][j]==1) { q.push({i,j}); } } } bfs(); for(int..

Study/C++ 2023. 9. 23. 17:21

C++ 백준 1927,11279,11286 최소 힙, 최대 힙, 절댓값 힙

안녕하세요. 하학생입니다. 오늘은 백준 1927,11279,11286 최소 힙, 최대 힙, 절댓값 힙 총 3 문제를 풀었습니다. 3문제가 비슷해서 묶어서 풀었습니다. 도움이 되셧으면 좋겠습니다. 힙 힙이란? 완전 이진트리로 각 노드의 값이 해당 노드의 자식 노드들의 값보다 작은지 또는 크지에 따라 구분 됩니다. 주로 우선순위 큐를 구현하는데 사용됩니다. 최대 힙 인경우 부모 노드의 키 값이 자식 노드의 키 값보다 크거나 같은 완전 이진 트리입니다. 최소 힙 인경우 부모 노드의 키 값이 자식노드의 키 값보다 작거나 같은 완전 이진 트리입니다. 문제 3문제의 알고리즘은 거이 동일합니다. C++에서는 STL로 우선순위 힙을 구현 할 수 있게 라이브러리로 구현 됬습니다. priority_queue heap; 다..

Study/C++ 2023. 9. 23. 17:00

C++ 백준 1158번

안녕하세요. 하학생입니다. 오늘은 백준 1158번을 풀어 봤습니다. 잘봐주세요. 문제 다음 문제 입니다. 문제의 조건은 N과 K를 입력받습니다. N은 1번 부터 N번까지 N명의 사람이 원을 이루면서 앉아있는 값입니다. K는 몇번째 사람을 제거 하는 변수입니다. 알고리즘 설명 1. 큐를 이용해 1부터 7까지 숫자가 있는 큐를 만듭니다. 2. 일단 맨처음 수를 pop을 해줍니다. 3. 만약 그 수가 k번째 숫자가 아니면 다시 큐에 값을 삽입합니다. 4. 만약 k번째 숫자이면 출력하고 카운트를 초기화 해줍니다. 전체 코드 #include #include int main(void) { int N, K; int count=0; std::queue arr; std::cin >> N >> K; for(int i=1;i

Study/C++ 2023. 9. 15. 16:17

C++ 백준 10845번

안녕하세요. 하학생입니다. 오늘은 백준 10845번 큐에 대해서 공부를 진행해 봤습니다. 잘 부탁드려요!! 큐 큐는 데이커 구조중 하나로 데이터를 저장하고 접근하는 방법을 제공합니다. 큐는 선입선출(FIFO, First-In-First-Out) 원칙을 따릅니다. 즉 가장 먼저 추가된 요소가 가장 먼저 제거되는 구조를 가지고 있습니다. 문제 큐를 구성하라 라는 문제입니다. 명령은 전부 c++ 표준 라이브러리에서 포함되어 있습니다. 전체코드 #include #include #include int main(void) { std::queue que; int N; std::string order; std::cin >> N; for (int i = 0; i > order; i..

Study/C++ 2023. 9. 14. 15:33

C++ 백준 10828번

안녕하세요. 하학생입니다. C++ 이론을 공부하면서 생각보다 이해가 가지 않아 방법을 바꿨습니다. 오늘부터 6주간 백준문제를 풀면서 C++에 대해 적응해 보도록 하겠습니다. 시작합니다!!! 스택 문제를 보기 전에 스택에 대해 가볍게 설명드리겠습니다. 스택이란 프로그래밍에서 사용되는 데이터 구조중 하나입니다. 데이터를 저장하고 접근하는 방식을 제공하고 후입선출(LIFO, Last-In-First-out) 원칙을 따릅니다. 즉 가장 최근에 추가된 요소를 제거되는 구조를 가지고 있습니다. 문제 백준 10828번은 스택 문제입니다. 고맙게도 C++에서는 스택을 지원해 주는 기능이 있어서 스택라이브러리를 이용하여 문제를 풀었습니다. #include #include #include int main(void) { s..

Study/C++ 2023. 9. 14. 15:14

C++ 생성자 초기화 리스트, const,static변수 등등

안녕하세요. 하학생입니다. 오늘은 생성자 초기화 리스트 등등에 대해 공부를 진행했습니다. 바로 시작할게요 생성자 초기화 리스트 생성자 초기화 리스트는 c++에서 클래스 멤버 변수를 초기화하는 방법 중 하나로 생성자 함수 내에서 멤버 변수를 초기화하는 데 사용됩니다. ConstructorName(parameter_list) : member1(value1), member2(value2), ... { // 생성자 본문 } 생성자 초기화 리스트는 다음과 같은 형식을 가집니다. 생성자 초기화리스트의 이점은 멤버 변수가 두 번 초기화하는 것을 방지할 수 있습니다. 또 상수 멤버 변수나 참조 멤버 변수는 반드시 초기화 리스트를 사용하여 초기화를 해야 하기 때문에 사용합니다. #include class MyClass ..

Study/C++ 2023. 9. 10. 16:43

C++ 복사 생성자,소멸자

안녕하세요. 하학생입니다. 오늘은 복사 생성자와 소멸자에 대해 공부해 봤습니다. 잘 봐주세요! 복사 생성자 얕은 복사와 깊은 복사 얕은 복사 : 객체가 가진 멤버들의 값을 새로운 객체로 복사하는데 참조 타입의 멤버를 가지고 있다면 참조 값만 복사됩니다.(동적 할당일시 주소값을 공유) int k =300; int y = k; 얕은 복사의 예시입니다. 얕은 복사를 사용하는 방법은 대입 연산자(=)를 사용하면 됩니다. 마찬 가지로 객체에도 사용할 수 있습니다. #include class Example { int value; public: Example() : value(100) {} // 생성자 초기화 리스트를 사용하여 value를 100으로 초기화 }; int main() { Example obj; // E..

Study/C++ 2023. 9. 10. 16:10

추가 정보

인기글

페이징

이전
1 2 3
다음
TISTORY
Ha학생 블로그 © Magazine Lab
페이스북 트위터 인스타그램 유투브 메일

티스토리툴바