본문 바로가기

전체 글

(110)
프로그래머스_0단계_홀수 vs 짝수 C++ 문제풀이: #include #include #include using namespace std; int solution(vector num_list) { int answer = 0; int even; int odd; for(int i=0; i
프로그래머스_0단계_5명씩 C++ 문제풀이: #include #include using namespace std; vector solution(vector names) { vector answer; // names 리스트가 비어있지 않은 동안 반복 while (!names.empty()) { // 한 그룹을 구성할 벡터 vector group; // 한 그룹에 최대 5명을 추가 for (int i = 0; i < 5; ++i) { // names가 비어있으면 반복 종료 if (names.empty()) break; // names의 맨 앞에 있는 사람을 그룹에 추가하고 삭제 group.push_back(names.front()); names.erase(names.begin()); } // 한 그룹의 맨 앞에 있는 사람을 answer에 추..
프로그래머스_0단계_할 일 목록 C++ 문제풀이: #include #include using namespace std; vector solution(vector todo_list, vector finished) { vector answer; for (int i = 0; i < finished.size(); ++i) { if (!finished[i]) { // 아직 마치지 못한 일인 경우 answer.push_back(todo_list[i]); // 결과 배열에 추가 } } return answer; }
directX 포트폴리오 10일 240422 오늘한일: 1.게임시작버튼/ 시간/타이머 위치잡기 2. 데미지 처리 오늘 할일: 3. 업그레이드 처리 key값+1 / 업그레이드 햇을떄 색상변화 ( 4. 총알구현 -> 근접공격도 불렛으로 처리해서 한번에 처리하도록 해보자 5.타워슬롯 위치 가져오기 etc: 리소스 귀염뽀짝한거 구하기 몬스터 죽음 구현 충돌처리 구현하기 돈 구현 총알구현 타워슬롯 위치 벡터 버그처리할것: 요놈때문에 재생이안되네 Time Scale을 멈춰도 애니메이션은 돌아간다. => 애니메이션 중간에 콜라이더를 삽입되는 모습보임 && 공격속도로 프레임속도 조절해줘야한다. ==>> Timescale을 0으로 처리해줘버리자 처리한 버그: 1.enemy 가 타워의 앞쪽에 랜더링되는버그 => gametileMap의 오브젝트로 추가해줘..
dx_31일차 공부 04.11 오늘내용 a*알고리즘 알고리즘을 통해 isometric의 공간에서 길찾기 실행, 1. 시작점 초기화 for { 2. 오픈노드 중 코스트가 가장 낮은 노드 찾기 3.Min코스트 노드의 엣지를 초기화한다. 4.확장이 끝나면 min노드는 clode상태 즉, 닫아준다. *** 코스트가 같은경우 index가 낮은값부터 실행해준다. } 5. 마지막으로 backTracking해줘서 맞는지확인 목적지까지 반복해준다. A*.h 더보기 #pragma once class AStar { public: AStar(class GameTileMap* map); ~AStar(); void Update(); void Render(); int FindCloseNode(const Vector2& pos); void GetPat..
프로그래머스_2단계_올바른 괄호_C++ 문제풀이: #include #include using namespace std; bool solution(string s) { stack st; for (char c : s) { if (c == '(') { st.push(c); // 열린 괄호를 스택에 푸시 } else if (!st.empty() && st.top() == '(') { st.pop(); // 닫힌 괄호를 만나고 스택이 비어있지 않으면 짝을 이루는 괄호가 있으므로 팝 } else { return false; // 올바르지 않은 괄호이므로 false 반환 } } return st.empty(); // 모든 문자열을 순회한 후에도 스택이 비어있어야 올바른 괄호입니다. } 틀렸던 문제풀이: 이유: 짝지어서를 생각안했다. ex. ())() 처럼..
프로그래머스_2단계_구명보트_C++ 그리디 알고리즘을 활용하는문제 문제풀이: #include #include using namespace std; int solution(vector people, int limit) { int answer = 0; sort(people.begin(), people.end()); // 사람들의 몸무게를 오름차순으로 정렬 int left = 0; // 가장 가벼운 사람을 가리키는 인덱스 int right = people.size() - 1; // 가장 무거운 사람을 가리키는 인덱스 while (left
프로그래머스_1단계_문자열 내 p와 y의 개수_C++ 문제풀이: #include #include #include // islower, isupper 함수 사용을 위한 헤더 파일 using namespace std; bool solution(string s) { int np = 0; int ny = 0; // 문자열을 순회하면서 'p'와 'y'의 개수를 세기 for (char c : s) { // 대소문자 구분 없이 'p'와 'y'의 개수 세기 if (tolower(c) == 'p') { np++; } else if (tolower(c) == 'y') { ny++; } } // 'p'와 'y'의 개수 비교하여 결과 반환 return np == ny; } int main() { cout