분류 전체보기 47

react-native-image-crop-picker, ImagePicker 안드로이드(android)에서 Cannot find image data 해결하는법

ImagePicker.openPicker({ width: 300, height: 400, cropping: true, }).then(image => { console.log(image); }).catch(e => console.log('error', e)); 안드로이드에서 해당 ImagePicker를 동작할때, gif 또는 webp,heic 고효율 이미지일때 아래와 같은 에러가 발생했다. Cannot find image data at Object.promiseMethodWrapper [as openPicker] (NativeModules.js:103) at HomeScreen.loadImageGallery (homescreen.js:107) at Object.onPress (homescreen.js:75..

React-Native 2023.02.25

[ReactNative] 배포시 console.log 없애기

yarn add -D babel-plugin-transform-remove-console​ 또는 npm i babel-plugin-transform-remove-console --save-dev babel-plugin-transform-remove-console 을 설치해준다. 그리고 babel.config.js 에 있는 env.production 에 module.exports = function () { return { // ... other project config such as presets and plugins env: { production: { plugins: ['transform-remove-console'] } } }; }; 이렇게 추가해준다. 그럼 배포시 console은 삭제된다. 잘못..

React-Native 2023.01.14

Least Recently Used(LRU) 카카오 캐시 문제 변형

캐시메모리는 CPU와 주기억장치(DRAM) 사이의 고속의 임시 메모리로서 CPU가 처리할 작업 을 저장해 놓았다가 필요할 바로 사용해서 처리속도를 높이는 장치이다. 워낙 비싸고 용량이 작아 효율적으로 사용해야 한다. 철수의 컴퓨터는 캐시메모리 사용 규칙이 LRU 알고리즘을 따 른다. LRU 알고리즘은 Least Recently Used 의 약자로 직역하자면 가장 최근에 사용되지 않 은 것 정도의 의미를 가지고 있습니다. 캐시에서 작업을 제거할 때 가장 오랫동안 사용하지 않은 것을 제거하겠다는 알고리즘입니다. 만약 캐시의 사이즈가 5이고 작업이 순으로 저장되어 있다면, (맨 앞이 가장 최근에 쓰인 작업이고, 맨 뒤는 가장 오랫동안 쓰이지 않은 작업이다.) Cache Miss : 해야할 작업이 캐시에 없는 ..

알고리즘 2023.01.10

삽입정렬

N개이 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요. 정렬하는 방법은 삽입정렬입니다. 입력예제 11 7 5 6 10 9 출력예제 5 6 7 9 10 11 풀이 function solution(arr){ // 배열 얕은복사로 인해 arr가 바뀌면 answer도 바뀜 let answer=arr; // arr 요소와 arr요소의 나머지 요소를 비교를 위해 이중 for문 for(let i=0; i=0; j--){ //arr[j] (arr[i-1]) 가 tmp (arr[i]) 보다 크면 arr[j+1] 인덱스에 arr[j]를 저장한다. if(arr[j]>tmp) arr[j+1]=arr[j]; //for문을 다돌아서 만약 arr[j]가 tmp보다 작다면 for문을 탈출한다. else brea..

알고리즘 2022.12.22

Special Sort(구글 인터뷰)

N개의 정수가 입력되면 당신은 입력된 값을 정렬해야 한다. 음의 정수는 앞쪽에 양의정수는 뒷쪽에 있어야 한다. 또한 양의정수와 음의정수의 순서에는 변함이 없어야 한다. 입력예제 1 2 3 -3 -2 5 6 -6 출력예제 -3 -2 -6 1 2 3 5 6 풀이 function solution(arr) { // answer에 arr 얕은복사 , arr 값이 바뀌면 answer 도 바뀜. let answer = arr; // 기존의 버블정렬 형태로 이중 for문 실행, 맨마지막 인덱스는 비교할 인덱스가 없으니 arr.length - 1 까지만 For문 실행 for (let i = 0; i < arr.length - 1; i++) { //버블 정렬의 형태기 때문에 마찬가지로 // 비교가 완료된 맨마지막 inde..

알고리즘 2022.12.18

버블정렬

N개이 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요. 정렬하는 방법은 버블정렬입니다. 오름차순으로 정렬된 수열을 출력합니다. 입력예제 13 5 11 7 23 15 출력예제 5 7 11 13 15 23 function solution(arr) { //얕은복사로 인해 arr가 바뀌면 answer 값도 바뀜 let answer = arr; //버블 정렬은 특정요소와 그 특정요소의 인덱스 +1 요소와 크기를 비교하기 때문에 // 맨마지막 요소는 해당 마지막요소의 +1 인덱스가 없기때문에 arr.length -1 까지의 길이만 반복문을 실행한다. for (let i = 0; i < arr.length - 1; i++) { //버블정렬은 맨마지막요소가 차례차례 가장 큰 수가 뒤로오기 때문에,..

알고리즘 2022.12.15

선택정렬

N개이 숫자가 입력되면 오름차순으로 정렬하여 출력하는 프로그램을 작성하세요. 정렬하는 방법은 선택정렬입니다. 입력예제 13 5 11 7 23 15 출력예제 5 7 11 13 15 23 function solution(arr){ // arr 배열 매개변수 얕은복사 저장 얕은복사라 arr가 바뀌면 answer도 바뀜 let answer=arr; //요소와 요소를 비교해 어떤 요소가 더 작은지 찾기 위해 이중 For문 실행 for(let i=0; i

알고리즘 2022.12.13

교육과정설계(큐)

현수는 1년 과정의 수업계획을 짜야 합니다. 수업중에는 필수과목이 있습니다. 이 필수과목은 반드시 이수해야 하며, 그 순서도 정해져 있 습니다. 만약 총 과목이 A, B, C, D, E, F, G가 있고, 여기서 필수과목이 CBA로 주어지면 필수과목은 C, B, A과목이며 이 순서대로 꼭 수업계획을 짜야 합니다. 여기서 순서란 B과목은 C과목을 이수한 후에 들어야 하고, A과목은 C와 B를 이수한 후에 들 어야 한다는 것입니다. 현수가 C, B, D, A, G, E로 수업계획을 짜면 제대로 된 설계이지만 C, G, E, A, D, B 순서로 짰다면 잘 못 설계된 수업계획이 됩니다. 수업계획은 그 순서대로 앞에 수업이 이수되면 다음 수업을 시작하다는 것으로 해석합니다. 수업계획서상의 각 과목은 무조건 이수..

알고리즘 2022.12.12