[Unity] 모바일 Admob 추가 후 빌드 안됨 해결
·
Unity/2D
기존에 APK 빌드 및 실행이 잘되던 프로젝트가 있었는데, Admob으로 광고 기능을 추가한 뒤로 빌드는 물론 모바일에서 실행도 안돼서 몇일간 고생했다. 내가 겪은 오류 및 해결 방법은 아래와 같다. Case 1. 빌드 자체가 안됨 위처럼 배너형 광고를 삽입하고 빌드를 진행을 했는데, 콘솔 창에 "warning:we recommend using a newer android gradle plugin to use compilesdk = 36" 라는 오류 로그가 찍히면서, APK 빌드 실패했다. 해당 오류 메세지를 직역하자면, 안드로이드 빌드를 하려면 최신 Gradle plugin을 사용하라는 의미이다. 유니티는 안드로이드 빌드 시, Gradle plugin을 통해 APK를 만드는 과정을 처리하는데, Admo..
LeetCode in C# 4. Median of Two Sorted Arrays
·
알고리즘
문제 요약두 배열의 중간 값을 반환해라. 단, 시간 복잡도는 O(log(m+n))안으로 해결해야한다. 문제 핵심 (주관적)1. 두 배열을 더한 뒤에, 중간 값을 찾으면 간단하지만 그럴경우 시간 복잡도 조건을 충족 시킬 수 없다.2. 두 배열을 더하지 않고 중간 값을 찾을 수 있는 방법을 모색해야한다.   풀이방법배열 두개를 합치지 않고, 중간 값을 찾을 수 있는 방법이 떠오르지 않아, 여러가지 참고 자료를 보면서 해결법을 찾았습니다. 바이너리 탐색을 활용해야하며, 핵심은 아래와 같습니다.   풀이 핵심두 배열을 합쳤을 때, 절반이 어떻게 나뉠지를 생각하면서 배열을 각각 좌측 부분과 우측부분으로 나눠야합니다.좌측과 우측이 합쳐졌을 때를 기준으로 잘 나뉘어졌는지 판단할 수 있어야하는데, 각 배열의 좌측의 마..
LeetCode in C# 3. Longest Substring Without Repeating Characters
·
알고리즘
문제 요약같은 문자가 반복되지 않는 가장 긴 문자열의 길이를 구해라 문제 핵심 (주관적)1. 반복문으로 문자끼리 전부 비교하는게 가장 쉬운 해결책이겠지만, 조금 더 시간 복잡도를 낮출 수 있는 방법 모색하기.2. 공백 예외처리, 공백문자가 나와도 문자가 이어짐으로 판단해야함.3. 순차적이 아니라, 전체적으로 봤을 때, 가장 긴 숫자를 선정해야함. 풀이방법 (1차)반복문을 사용하는 방법이 가장 먼저 떠올라서 구현해봤습니다. 탐색 알고리즘을 만들어서 해결하면, 분명 시간 복잡도를 낮출 수 있을 것 같다는 생각이 들었지만, 방법이 떠오르지 않아서 문제 해결에 포커스를 맞췄습니다.  풀이 핵심은 리스트를 활용해서 중복되지 않은 문자들을 추가하고, 만약 중복된 문자가 있다면 전부 비우고 다시 추가하는 구조로 문제..
LeetCode in C# 2. Add Two Numbers
·
알고리즘
문제 요약단일 연결 리스트 두개가 주어지고, 숫자는 역순으로 저장되어있으며, 각 노드에는 한 자리 숫자가 포함되어있다.두 숫자를 더한 합계를 연결 리스트로 반환해라. 문제 핵심1. 단일 연결 리스트에 대한 이해2. 계산중에 발생하는 받아올림 처리3. 길이가 다른 리스트에 대한 예외처리 풀이방법이 문제를 풀기 위해선 단일 연결 리스트에 대한 이해가 없으면 도저히 풀수 없는데, 개념은 알고 있어도 실제로 사용해본 적이 없어서 문제에 어떤식으로 적용해야할지 몰랐다. 따라서 연결리스트에 대한 공부를 다시하고, 문제를 해결했다. 이 문제는 반복해서 풀어봐야할 것 같다. 소요 시간 : 36분시간 복잡도 : O(n)public class Solution { public ListNode AddTwoNumbers(..
LeetCode in C# 1. Two Sum
·
알고리즘
문제 요약정수 숫자들이 담긴 배열과 목표 값이 주어졌을 때, 두 수를 더해서 목표 값이 되는 인덱스의 배열을 반환해라.ex) [2, 7, 11, 15] , target = 9 라면, 2와 7을 더했을 때 9가 되므로 반환 값은 [0,1] 문제 핵심 (주관적인 생각)모든 경우의 수를 다 더하는 것이 가장 쉬운 해결책이겠지만, 시간 복잡도를 더 줄일 수 있는 효율적인 탐색 알고리즘을 구현해야하는 것이 핵심이다. 풀이 방법 (1차)뇌가 굳어서 방법이 떠오르지 않아, 그냥 모든 경우의 수를 전부 더해서 해결했다.반복문을 통해, 두 수의 더한 값이 target이 될 때까지 앞에 자리 숫자부터 맨 뒤 숫자까지 반복적으로 더했다. 시간 복잡도 : O(n^2)풀이 시간 : 19분 13초public class Solut..
알고리즘 공부에 대하여
·
알고리즘
그동안 알고리즘 공부와 코딩테스트에 대해 너무 안일하게 생각했었던 것 같다.게임 개발자면 그냥 게임만 만들줄 알면 되는거 아닌가? 라고 생각하며 알고리즘 공부와 코딩테스트 풀이를 멀리 했었는데 문득 이런 생각이 들었다. 현재 IT업계는 GPT와 IDE같이 개발을 보조해주는 도구들이 엄청나게 발전해나가는 과도기인데 미래의 내가 본격적으로 활동하는 시기에는 개발 도구에 굉장히 많은 변화와 혁신이 일어난 시기일 것이라고 생각한다.그러다 보면 기업에서도 AI관련 보안에 민감해서, 사용 금지 시킬수도 있고, 개발자의 실력을 판가름하려면 더욱더 확실한 방법인 코딩테스트의 중요도가 올라갈 것이다. 알고리즘 공부(코테)를 해야하는 이유변화하는 개발 도구들을 잘 활용하려면, 개발 지식이 넓을 수록 유리하다. GPT와 같..
유니티 Light Bake시 머티리얼이 이상하게 보이는 오류
·
Unity/3D
유니티에서 실시간으로 적용되는 빛 효과들은 많은 드로우콜을 유발하기 때문에, CPU와 GPU에 많은 부담을 주게 된다. 따라서 빛에 의해 오브젝트에 적용되는 그림자는 Lighting Bake를 통해 Lightmap을 만들어 텍스쳐 형태로 관리하여 부담을 줄일 수 있다. 하지만 라이트맵을 사용하다보면 아래와 같이 모델링의 텍스쳐가 이상하게 보이는 경우가 존재한다.문제가 되는 오브젝트를 클릭하면, This GameObject has overlapping UVs라는에러 메세지가 동반되어 있을텐데, 한마디로 겹치는 UV가 존재한다는 의미다.UV는 3D모델링을 2D로 표현할때 사용되는 좌표 값이다.셰이더를 만져본 적이 있으면 조금 더 이해가 빠를 것이다.  https://docs.unity3d.com/kr/201..
유니티 전면 광고 적용
·
Unity
전면 광고  |  Unity  |  Google for Developers이 페이지는 Cloud Translation API를 통해 번역되었습니다. 전면 광고 컬렉션을 사용해 정리하기 내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요. 전면 광고는 호스트 앱의 인터페이스를 가developers.google.comhttps://developers.google.com/admob/unity/interstitial?hl=ko위 사이트에 나와있는대로 따라하면 쉽게 전면 광고를 적용하는 방법을 알려준다ShowInterstitialAd() 함수를 원할때 호출하면, 전면 광고를 띄울 수 있다 using System;using UnityEngine;using GoogleMobileAds.Api;public class ..