분류 전체보기 31

[프로그래머스 Lv.3] 야근 지수

운동은 "적절한 강도의 꾸준함"과 간혹 컨디션이 좋을 때 "근육통을 유발하는 강도"로 운동을 하면 근육 생성 및 유지에 효과가 좋다고 합니다. 뇌 운동도 비슷하다고 생각합니다. 매일 매일 어려운 문제를 풀다가 빠르게 지쳐 손을 놓기보다는 쉬운 문제를 매일 매일 풀어보는 습관을 들이고자 하는 데에 목적이 있는 "심심풀이땅콩코테"입니다. 간혹 이상한 방법으로 문제를 풀긴 합니다(정말 '어우 이게머야..' 할 정도) 그냥 참고만 해주세요 :) (덧글로 본인의 풀이 방법을 적어주신다거나(본인의 코드를 자랑해주세요) 평화적인 지적을 환영합니다.) #include #include #include using namespace std; long long solution(int n, vector works) { long..

[프로그래머스 Lv.2] 최댓값과 최솟값

운동은 "적절한 강도의 꾸준함"과 간혹 컨디션이 좋을 때 "근육통을 유발하는 강도"로 운동을 하면 근육 생성 및 유지에 효과가 좋다고 합니다. 뇌 운동도 비슷하다고 생각합니다. 매일 매일 어려운 문제를 풀다가 빠르게 지쳐 손을 놓기보다는 쉬운 문제를 매일 매일 풀어보는 습관을 들이고자 하는 데에 목적이 있는 "심심풀이땅콩코테"입니다. 간혹 이상한 방법으로 문제를 풀긴 합니다(정말 '어우 이게머야..' 할 정도) 그냥 참고만 해주세요 :) (덧글로 본인의 풀이 방법을 적어주신다거나(본인의 코드를 자랑해주세요) 평화적인 지적을 환영합니다.) #include #include #include #include #include using namespace std; // stringstream 사용 vector ge..

그래프 기초와 그래프 코드 구현

그래프는 정점(Vertex)와 간선(Edge)이 존재한다 정점은 데이터를 표현하고, 간선은 그 데이터들 사이의 관계를 의미한다. 그래프는 선형 관계에 비해, 예시를 들 수 있는 것들이 굉장히 많다. 인스타그램, 페이스북 등과 같은 소셜 네트워크 관계만 보더라도 다수의 사람들과 관계를 맺는 사회의 모습을 그래프로 나타낼 수 있다. 그래프는 다양한 방식으로 표현이 가능하다. 예를 들면 연결 관계에서 숫자들을 적어, 간선의 가중치를 정할 수도 있다. 지하철 노선도와 같이 호선을 적어, 각 선에 의미를 부여해주어 간단한 선 잇기로 끝내지 않는다. 이것을 가중치 그래프(Weighted Graph)라고 한다. 이 밖에도 그래프의 간선에 방향성을 지어줄 수 있다. 양방향이나, 홀방향 등으로 관계를 정의한다. 흔히 삼..

자료구조 2023.03.02

안드로이드 기반 cocos2d-x -> iOS 빌드이식 오류 저장소 (2)

NNGManager~ [NSBundle initWithURL:]: nil URL argument NNG → 이름이 좀 당혹스러워보여도 네이버 게임라운지를 게임앱 내에서 호출하게 해주는 네이버 게임 SDK 이름이다. 관련 오류가 나올 경우 target → Build Phase → Copy Bundle Resource에 해당 번들을 넣어주면 된다. (ex.NNGSDK.bundle) 리소스를 불러오다가 크래쉬가 나는 문제 발생 빌드 설치 후, 실행했을 때 json 리소스를 부르다가 터져버린 경우가 있었다. 원인은 리소스 폴더를 refrerence 로 가져올 것이냐, group으로 가져올 것이냐의 문제였는데. Resources 안의 하위 폴더들을 각각 reference로 불러오니 해결되었다(더불어 target ..

게임개발/ios 2023.02.26

C++11 auto

auto 란? 컴파일 단계에서 오른쪽의 데이터를 기반으로 자료형을 추론해서 타입을 알아서 찾아주는 키워드. C++11 이전에도 존재하던 키워드이나, C++11 부터 선언의 초기화 식에서 형식이 추론되는 변수를 선언하는 역할을 하게 되었다. 때문에 Modern C++ 의 주요 변화 중 하나라고 볼 수 있다. (C++11 부터 Modern C++이라고 칭한다) 찾아보니 C++11 이전에는 자동 저장소 클래스에 있는 변수, 지역변수를 선언하는 역할이었다고 함. auto 예시를 들며 어떤 역할을 하는지 알아 본다. class Actor { public: int _hp; } // 자료형을 직접 명시했을 때 int a = 4; float b = 3.14f; double c = 9.82; Actor d = Actor..

C++ 2023.02.16

안드로이드 기반 cocos2d-x -> iOS 빌드이식 오류 저장소 (1)

cocos2d-x 를 기반으로 한 프로젝트를 진행하고, 안드로이드 빌드까지 끝났다. 이제 남은 것은 iOS 빌드인데, 개발자들 중에 아이폰을 쓰는 사람이 나 뿐이라는 이유로 어쩌다보니 내 자리에 Mac을 설치하게 되었다. iOS 라는 미지의 세계를 탐구하게 되어 호기롭게 도전한 나는, 빌드 세팅 부터 애를 먹게 되었다. (주변 개발자들 말론, 내가 혼잣말 하는 빈도수가 높아졌다고... 이건 다 Mac과의 원활한 소통을 위해서입니다...) 본 글은, 작업 중 오류 정리를 위한 글이다. Unity 프로젝트보다 오류 정리글이 없기도 하고.. 사실 개발팀 내 업무 정리는 Notion 으로 처리하고 있으며, 이 글도 내가 Notion에 작성하며 작업하던 것들을 기반으로 가져온 것이다. 언젠가 다른 프로젝트를 진행..

게임개발/ios 2023.02.15

Firebase sdk cocos2d-x(c++) 프로젝트에 추가하기

ios 빌드를 필요로 하는, 내가 진행 중인 프로젝트 현재 상황은 다음과 같다. cocos2d-x 3.17을 기반으로 제작된 C++ 프로젝트 안드로이드 빌드는 완료된 상황 Firebase 외에도 Gamebase, Facebook의 ios 빌드를 위해 sdk 를 붙여야하는 상황 ios 빌드는 처음이라, Mac을 가지고 브랜치를 옮겨놓고 이것저것 만져보기는 했으나 Xcode 특성인진 모르겠지만 빌드가 끝날 때가 되어서야 오류 리스트들을 도출하기에, 한번 수정 작업할 때 최대한 많이 고치고 빌드를 해야한다. 특히 라이브러리를 수정해야 할 상황이 오면, Clean build - DerivedData 하위 폴더들 삭제 - pod.lock 파일 삭제 - 프로젝트명.xcodespcace 파일 삭제 - pod inst..

게임개발/ios 2023.02.09

SourceTree에서 VisualStudio 실행 시 생기는 VC.db 파일들 ignore 하기

비쥬얼스튜디오를 켰다하면 소스트리에 이런 추가 파일들이나 수정 파일들이 생긴다. 이런 VC.db 파일들은 Visual C++ intelliSense 의 데이터베이스다. VisualStudio 의 솔루션 및 프로젝트들이 사용 중일 때만 생성 및 수정되고, 솔루션을 닫으면 자동 삭제된다고 한다. 때문인지 VisualStudio가 켜져 있으면 커밋이 귀찮아진다. 코드 수정 하나 안했는데 우수수 쏟아지는 추가 및 수정 파일들을 보고 있으면 조금 과장해서 가슴이 먹먹해진다(?) 찾아보니, gitignore 파일로 녀석들을 자동 관리 대상에서 제외시키면 된다고 한다. 어떻게? 간단하다. git 연동 시 디렉터리에 생성된 .gitignore 라는 파일을 워드든 메모장이든 암튼 열어준다. 거기에 아래의 코드를 복사 붙..

SourceTree - Authentication failed for ~ 에러

집컴에서 공부 좀 하려고 SourceTree 버전 관리 프로그램을 이용하려고 했다. 응애 개발자인 나는 집컴에서 회사일만 했었던 터라, 기존 SourceTree 에는 회사 프로젝트들과 연결된 계정이 연결되어있었을 뿐. 개인 프로젝트는 아무것도 없었다.. 정말 나는 혼자 공부하지 않았던 똥멍청이였던거다ㅠㅠ개발자 맞냐고 나..(회사 일에만 최선을 다하면 될 줄 알았지!!) github 에서 프로젝트 생성하고 SourceTree와 연결 좀 하려고 하니 계속 이런게 뜬다. 회사 프로젝트는 http 주소 복사해서 clone 만 하면 뚝딱 잘 되었는데, 뭐지? 하고 검색 좀 두들겨보았다. 아무래도 회사 프로젝트들 연결 계정 때문에 계정이 꼬인 모양이다. 프로젝트별로 계정 따로 관리할 수 있으면 좋으련만. 보안상 불..