목록전체 글 (125)
멈추지 않고 끈질기게
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. 1. 서론 현재 제작중인 포트폴리오 프로젝트에 구글 애드몹을 이용하여 광고 기능을 추가하였습니다. 다행히 문서도 있고 내용을 정리한 포스팅들도 많아서 구현 자체는 어렵지 않게 할 수 있었습니다. 테스트 ID를 이용하여 에디터 상에서 테스트 광고 시청 및 보상 수령까지 확인하였습니다. 문제는 안드로이드 빌드를 뽑아서 디바이스에서 실행해보았더니, 보상 수령 로직이 제대로 동작하지 않고 있었습니다. 재접속 해보니 재화 및 광고 시청 횟수가 정상적으로 카운트 된 것으로 볼 때, 데이터 수정은 이루어졌지만 UI가 갱신되지 않은 이슈로 보였습니다. Android Logcat에서 확인해 본 결과, 리워드 지급 시점에 다음과..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 하기 출처들을 참조하였습니다. - https://docs.unity3d.com/ScriptReference/Application-dataPath.html - https://docs.unity3d.com/ScriptReference/Application-persistentDataPath.html 0. 서문 작업하던 포트폴리오 프로젝트에서 유저 데이터를 Resources 폴더가 아닌 다른 경로에 저장하고, Application.dataPath를 사용하여 접근해왔는데 안드로이드 빌드 후 실행해보니 데이터를 읽어오지 못하는 이슈가 발생했습니다. 찾아보니 데이터 경로에도 여러 종류가 있고, 플랫폼에 상..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 하기 출처들을 참조하였습니다. - 존 캐리, 코딩 테스트를 위한 자료구조와 알고리즘 with C++, 도서출판 길벗, 2022 이번 포스팅에서는 동적 계획법(Dynamic Programming)에 대해 알아보도록 하겠습니다. 1. 동적 계획법이란 동적 계획법(Dynamic Programming, 이하 DP)이란 문제를 해결하기 위해 해당 문제를 여러개의 부분 문제로 나누고, 그 부분 문제의 해답을 이용하여 전체 문제를 해결하는 방식을 말합니다. A*와 같이 특정 기능에 특화된 알고리즘은 아니고, 일종의 방법론에 속합니다. 동적 계획법을 적용하려면 문제가 다음과 같은 특성을 만족해야 합니다. -..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 Unity 2021.3.15f1 버전을 기준으로 작성되었습니다. 이번 포스팅에서는 유니티에서 지원하는 클릭/터치 관련 인터페이스 3종에 대해 알아보겠습니다. 1. 인터페이스 기능 IPointerClickHandler, IPointerDownHandler, IPointerUpHandler는 모두 UnityEngine.EventSystems에 포함된 인터페이스 들로, 이벤트 시스템에 영향을 받는 UI 오브젝트에 적용할 수 있는 클릭/터치 관련 인터페이스입니다. 각 인터페이스는 PointerEventData 클래스 타입의 매개변수를 받는 함수(OnPointerClick(), OnPointerDown..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 하기 출처들을 참조하였습니다. - 존 캐리, 코딩 테스트를 위한 자료구조와 알고리즘 with C++, 도서출판 길벗, 2022 이번 포스팅에서는 그리디 알고리즘(Greedy Algorithm)에 대해 알아보겠습니다. 1. 개요 그리디 알고리즘(Greedy Algorithm)은 우리말로 탐욕법이라고도 하며, 현재 가장 좋다고 판단되는 값을 우선적으로 취하고 이를 반복하여 가장 좋은 결과를 도출해내는 방식입니다. 그림 1은 은행의 각 창구의 손님들의 대기열을 도식화 한 것입니다. 각 사각형은 손님을 나타내며, 안의 숫자는 해당 손님이 업무를 보는데 소요되는 시간(분)을 나타냅니다. A 창구에서 가..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 하기 출처들을 참조하였습니다. - 존 캐리, 코딩 테스트를 위한 자료구조와 알고리즘 with C++, 도서출판 길벗, 2022 이번 포스팅에서는 특정 정점간의 최단거리를 계산하는데 있어 효율적인 A* 알고리즘에 대해 알아보겠습니다. 1. 개요 A* 알고리즘은 다익스트라 알고리즘과 마찬가지로 최단 거리(경로)를 구하는 데 사용하는 알고리즘이며, 시작점부터 방문하여 연결된 정점들과 값을 비교하는 방식은 비슷하나 다음과 같은 차이점이 있습니다. - 1) 모든 정점이 아닌 시작점과 목표지점 간의 최단 거리(경로)를 계산 - 2) 정점의 값(F)을 지금까지의 이동 비용(G)과 목표 지점까지의 예상 이동..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 하기 출처들을 참조하였습니다. - 존 캐리, 코딩 테스트를 위한 자료구조와 알고리즘 with C++, 도서출판 길벗, 2022 이번 포스팅에서는 가중치가 있는 그래프의 순회에 사용할 수 있는 다익스트라 알고리즘에 대해 알아보겠습니다. 1. 개요 다익스트라 알고리즘은 그림 1과 같이 간선의 가중치가 존재하는 그래프를 순회하는데 사용하는 알고리즘으로, 시작 정점부터 시작하여 모든 정점을 순회하며 각 정점에 시작 정점으로부터의 최단 거리를 기록합니다. 다음은 그림 1의 그래프에 0번 정점을 시작점으로 다익스트라 알고리즘을 적용하는 과정을 도식화 한 것입니다. 우선 시작점은 0으로, 시작점을 제외한 ..
※ 해당 포스팅은 개인의 공부 정리용 글입니다. 틀린 내용이 있다면 추후 수정될 수 있습니다. ※ 해당 포스팅은 하기 출처들을 참조하였습니다. - 존 캐리, 코딩 테스트를 위한 자료구조와 알고리즘 with C++, 도서출판 길벗, 2022 이번 포스팅에서는 그래프 순회 알고리즘의 기본이 되는 너비 우선 순회(BFS)와 깊이 우선 순회(DFS)에 대해 알아보겠습니다. 1. 너비 우선 순회(BFS, Breadth-First Search) 너비 우선 순회(이하 BFS)는 현재 정점과 연결된 모든 정점을 먼저 방문하고, 이 후 방문한 정점으로 넘어가서 해당 과정을 반복하는 방식입니다. 예를 들기 위해 다음과 같은 그래프가 있다고 가정하겠습니다. 상기 그래프의 0번에서 시작하여 BFS를 통해 모든 정점을 순환할 ..