백준 1043 (BFS)
하고싶은거/알고리즘 문제풀이2024. 4. 19. 00:35백준 1043 (BFS)

1043번: 거짓말지민이는 파티에 가서 이야기 하는 것을 좋아한다. 파티에 갈 때마다, 지민이는 지민이가 가장 좋아하는 이야기를 한다. 지민이는 그 이야기를 말할 때, 있는 그대로 진실로 말하거나 엄청나게www.acmicpc.net 과정과장된 이야기를 들은 사람은 감염된다고 생각하면 쉬웠다.마치 토마토 문제처럼? 백준 7569 (BFS)7569번: 토마토 첫 줄에는 상자의 크기를 나타내는 두 정수 M,N과 쌓아올려지는 상자의 수를 나타내는 H가 주어진다. M은 상자의 가로 칸의 수, N은 상자의 세로 칸의 수를 나타낸다. 단, 2 ≤ M ≤ 100ssin-estella.tistory.com그래서 먼저 진실을 알고 있는 사람만 큐에 저장후, 모든 파티를 순회하면서 새롭게 진실을 알게된 사람은 큐에 저장하고..

백준 15666 (DFS, 백트래킹)
하고싶은거/알고리즘 문제풀이2024. 4. 17. 22:40백준 15666 (DFS, 백트래킹)

15666번: N과 M (12) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 과정 이전 15663번과 유사한데 수열이 무조건 오름차순으로 구성되어야한다는 차이점이 있다. 그래서 같은 수열 내에 바로 이전 숫자와 비교해서 같거나 더 클 경우에만 수열에 추가했다. 다만, 이전 숫자를 비교하는 과정에서 index가 0일 경우 이전 숫자가 없어서 잘못된 숫자가 나온다. 따라서 인덱스를 0~M-1이 아닌 1~M 까지로 저하고, 이에 맞춰서 몇몇 코드를 수정했다. 코드 #include #include #include using namespace ..

싱크홀 메우기 (업데이트중)
하고싶은거/C++2024. 4. 17. 16:46싱크홀 메우기 (업데이트중)

코테를 풀다보니 문법적으로 부족한게 정말 너무 많다. 요즘 부끄러워서 미친다.문법공부도 당연히 처음부터 하고 있지만, 나는 오답하면서 틀리는걸 채우는 방법이 더 익숙하므로(효율은 박살남)문제풀다가 모르는거 나오면 여기에 죄다 정리할 예정이다. 내 문법 빵꾸가 다 채워지는 그날까지..아스키코드활용법대문자 → 소문자 or 소문자 → 대문자 or 알파벳 → 숫자 등등대문자와 소문자는 각각 "32" 차이, 알파벳과 숫자는 "64" 차이가 난다.문자열 처리1.  문자열 string vs char [ ]string을 사용할 시 헤더 추가 필수 (class이기 때문)string은 인덱스를 통해 한개의 문자에 접근할 수 있지만, 그렇게 접근한 문자는 string이 아니라 char형이다.때문에 stoi(stringAr..

문자 char 입력시 오류 : invalid conversion from ‘const char*’ to ‘char’ [-fpermissive]
하고싶은거/삽질2024. 4. 17. 03:37문자 char 입력시 오류 : invalid conversion from ‘const char*’ to ‘char’ [-fpermissive]

문제 SW Expert Academy에서 문제 풀다가 문자 char을 받는데 위와 같은 오류가 발생했다. 과정 error: invalid conversion from ‘const char*’ to ‘char’ [-fpermissive] #include #include #include #include using namespace std; class base { public: int lookup(char c); }; // class base int base::loo... stackoverflow.com 따옴표가 " " 이냐 ' '이냐 차이였다. 결론은 쌍따옴표가 아닌 그냥 ' ' 홑따옴표를 사용해야한다. 왜?? 홑따옴표 : 단일문자, char(string아님) , 1바이트 쌍따옴표 : 리터럴 값, 문자열(s..

백준 15663 (DFS, 백트래킹, 지역메모리, 함수스코프)
하고싶은거/알고리즘 문제풀이2024. 4. 16. 23:31백준 15663 (DFS, 백트래킹, 지역메모리, 함수스코프)

15663번: N과 M (9) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하는 순서로 출력해 www.acmicpc.net 과정 주어진 숫자를 오름차순으로 정렬 후 (sort) 주어진 숫자들 중 M개를 뽑아서 수열을 만든다. (중복X) 다만, 이번에는 주어지는 숫자들 중 중복되는 숫자가 있다. : 그래서 같은 수열이 나올 수 있다는 것! 그래서 처음에는 if 문에 number[count] != sortNum[i]를 추가해서 이미 출력된 이전 수열의 같은 자리 숫자 number[count] vs 현재 집어넣으려는 숫자 sortNum[i]를 비교했다. 이 코드의 반례는 다음과 같다. 원..

백준 15657 (DFS, 백트래킹)
하고싶은거/알고리즘 문제풀이2024. 4. 15. 22:50백준 15657 (DFS, 백트래킹)

15657번: N과 M (8) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 과정 이전에 풀었던 문제 2가지를 섞은 유형이다. 1부터 시작이 아닌 주어지는 숫자들을 오름차순으로 정리, 같은 수를 골라도 되지만 반드시 오름차순으로 수열을 구성할 것. 백준 15654 (DFS, 백트래킹) 15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M ssin-estella.tistory...

백준 15654 (DFS, 백트래킹, 정렬)
하고싶은거/알고리즘 문제풀이2024. 4. 14. 13:38백준 15654 (DFS, 백트래킹, 정렬)

15654번: N과 M (5) N개의 자연수와 자연수 M이 주어졌을 때, 아래 조건을 만족하는 길이가 M인 수열을 모두 구하는 프로그램을 작성하시오. N개의 자연수는 모두 다른 수이다. N개의 자연수 중에서 M개를 고른 수열 www.acmicpc.net 과정 [C++/백준문제] - 백준 15650, 15652 (DFS) 백준 15650, 15652 (DFS) 15650번: N과 M (2) 한 줄에 하나씩 문제의 조건을 만족하는 수열을 출력한다. 중복되는 수열을 여러 번 출력하면 안되며, 각 수열은 공백으로 구분해서 출력해야 한다. 수열은 사전 순으로 증가하 ssin-estella.tistory.com 이거랑 비슷한 문제인데 1부터 시작이 아니다. : 때문에 오름차순으로 정렬을 해줘야한다. 본인은 포함하지..

타입 변환 연산자
하고싶은거/C++2024. 4. 13. 15:00타입 변환 연산자

c++에서는 기존의 데이터형을 다른 데이터형태로 변환하는 "캐스팅" 이라는 과정이 있다. 캐스팅자세한 정보: 캐스팅learn.microsoft.com이러한 캐스팅을 해주는 타입(형)변환 연산자(캐스팅 연산자)가 있는데dynamic_caststatic_castconst_castreinterpret_cast가 있다.C++ 캐스트 연산자 형태static_cast(변경할 대상);static_castc언어의 형변환 문제점을 줄인 방식이다.컴파일 타임에 타입 검사를 제공하고, 강제변환이 아닌 논리적으로 가능한 타입에 대해서만 캐스팅을 진행한다.→ 따라서 컴파일에러로 잡아낼 수 있다.dynamic_cast상속관계에서 다운 캐스팅을 할 때 안전하게 캐스팅을 할 수 있다.+ 다운캐스팅?: 부모클래스 객체가 자식클래스 타..

스마트 포인터
하고싶은거/C++2024. 4. 12. 14:27스마트 포인터

스마트 포인터는 c++11부터 지원하는 기능으로, 메모리관리를 위한 기능이다. c++는 new를 사용해서 포인터로 실제 메모리를 가리키도록 하는데, new를 사용할 경우 다 사용한 후에 메모리를 해제해줘야 한다.(delete, nullptr) 그래서 스마트 포인터를 사용해서 자동으로 메모리 해제를 해서 메모리 관리의 효율성을 높힐 수 있다. Part1 12. 언리얼 엔진 메모리 관리UObject 선언 기본 원칙 언리얼 오브젝트 포인터 : UPROPERTY 선언 메모리 : 가지비컬렉터가 자동으로 관리하도록 위임 언리얼 엔진 자동 메모리 관리 C++ 메모리 관리 문제점 : 저수준으로 메모리 주ssin-estella.tistory.com이전 언리얼엔진의 가비지컬렉션과 비교하여 언리얼오브젝트가 아닌 c++오브젝..

비선형구조 : 트리
하고싶은거/자료구조&알고리즘 공부2024. 4. 12. 13:38비선형구조 : 트리

선형 구조 : 자료를 순차적으로 나열한 형태 배열 연결 리스트 스택/큐 비선형 구조 : 하나의 자료 뒤에 다수의 자료가 올 수 있는 형태 트리 그래프 트리 구성 요소 (너무.. 깔끔한 그림;) 트리는 그래프와 비슷한 구성 요소를 갖는데, 그래프의 정점 → 트리의 노드 이다. 또한, 그래프와 살짝 비교될만한게, 트리는 계층구조를 가지고 있다. 그래서 부모노드, 자식노드 이런 용어가 생긴 것. 레벨 vs 높이 vs 깊이 아파트로 비교했을 때, 레벨 : 각 층 여기는 0층, 여기는 3층 이런식으로 (루트 노드부터 노드까지 연결된 간선 수의 합) 높이 : 이 아파트의 최고 높이 (가장 긴 루트 경로의 길이) 깊이 : 해당 층수까지의 높이 = 레벨 (루트 경로의 길이) Heap Tree (우선순위 큐) 힙트리는 ..

image