목록Development Language (157)
SPRING :: NOTE
아래와 같이 안드로이드의 LatLng 객체를 입력으로 받아 ECEF 좌표를 배열로 출력하는 Java 코드의 예 이다. 본 코드는 수학적인 계산을 수행하므로 추가적인 외부 라이브러리는 필요하지 않다. import android.location.Location; public class LLHtoECEFConverter { public static double[] convertLLHtoECEF(Location location) { double lat = Math.toRadians(location.getLatitude()); double lon = Math.toRadians(location.getLongitude()); double alt = location.getAltitude() + 10.0; // 고도는 ..
안드로이드 33부터 내장 파일 아무거나 접근을 못한다. 아 짜증난다. 파일 읽어오는 부분들을 전부 수정해줘야한다. 유예기간을 많이 주긴 했지만, 진짜 너무 귀찮다. 다음과 같이 구성하면 xml파일을 생성하여 내 앱 절대경로에 파일을 생성할 수 있다. 안드로이드에서 파일을 생성하고, 그 파일을 다른 앱에서 읽을 수 있도록 하는 과정을 살펴보면서 오류를 해결할 수 있습니다. 1. 파일을 생성할 경로 설정하기 우선 파일을 생성할 경로를 설정해야 합니다. 여기서는 getFilesDir()을 사용하여 내부 저장소의 DB_FILES 폴더에 example.xml 파일을 생성하도록 설정했습니다. // 파일을 쓸 디렉토리 생성 File dirPath = new File(getFilesDir(), "DB_FILES"); ..
ArrayList[] mAlUserInfo; mAlUserInfo = new ArrayList[50]; ArrayList 배열 50개를 생성하고 각 배열안에 데이터가 있다고 가정. 중간 23번째 데이터를 삭제하고 배열을 당겨 Shift 시키고 싶은경우 아래와 같이 사용하자. (항상 다시 만들기 귀찮아서 포스팅을 남긴다.) mAlUserInfo[23] = null; 중간배열 삭제(null 값으로 초기화) for (int i = 23; i < mAlUserInfo.length - 1; i++) { mAlUserInfo[i] = mAlUserInfo[i + 1]; } mAlUserInfo[mAlUserInfo.length - 1] = null; 나머지 데이터 시프트 23번째 배열을 삭제하고, 그 이후 배열의 ..
다음과 같이 배열을 선언하고, 값이 유동적으로 변하기 때문에 개수를 셀 필요가 있다. ArrayList[] info = new ArrayList[50]; ArrayList로 배열을 선언한 경우, 각 요소는 null로 초기화된다. 이 배열은 ArrayList 객체에 대한 참조를 저장하고 있으며, 값이 없는 요소는 null을 저장하고 있다. 따라서, 값이 있는 요소의 개수를 세려면 null이 아닌 요소를 찾아야 한다. 아래와 같이 for-each 루프를 사용하여 각 요소를 검사하고, null이 아닌 요소의 개수를 계산할 수 있다. int count = 0; for (ArrayList list : info) { if (list != null) { count += list.size(); } } System.ou..
# 문제 설명 - 연산 ⊕는 두 정수에 대한 연산으로 두 정수를 붙여서 쓴 값을 반환한다. - 예를 들면 다음과 같습니다. - 12 ⊕ 3 = 123 - 3 ⊕ 12 = 312 - 양의 정수 a와 b가 주어졌을 때, a ⊕ b와 b ⊕ a 중 더 큰 값을 return 하는 solution 함수를 작성 - 단, a ⊕ b와 b ⊕ a가 같다면 a ⊕ b를 return 한다. #include int combine(int a, int b) { // 연산 ⊕를 수행하는 함수 int ret = a; while (b > 0) { ret *= 10; b /= 10; } return ret + b; } int solution(int a, int b) { int a_b = combine(a, b); int b_a = c..
# 문제 설명 - 문자열 my_string과 정수 k가 주어질 때, my_string을 k번 반복한 문자열을 return 하는 함수를 작성 # 제한사항 - 1 ≤ my_string의 길이 ≤ 100 - my_string은 영소문자로만 이루어져 있음 - 1 ≤ k ≤ 100 #include #include #include char* repeatString(char* my_string, int k) { int len = strlen(my_string); // 문자열의 길이 char* result = (char*)malloc(len * k + 1); // 결과 문자열 저장할 동적할당 // k번 만큼 문자열을 이어붙임 for (int i = 0; i < k; i++) { strcat(result, my_stri..
# 문제 설명 - 문자들이 담겨있는 배열 arr가 주어진다. - arr의 원소들을 순서대로 이어 붙인 문자열을 return 하는 solution함수를 작성 # 제한사항 - 1 ≤ arr의 길이 ≤ 200 - arr의 원소는 전부 알파벳 소문자로 이루어진 길이가 1인 문자열 #include #include #include char* solution(char* arr[], int arr_len) { // 문자열을 저장할 메모리 동적 할당 char* result = (char*)malloc(sizeof(char) * (arr_len + 1)); // 동적 할당된 메모리가 있는지 확인 if (result == NULL) { return NULL; } // 문자열 초기화 memset(result, 0, sizeo..