전체 글

디자인 전공자가 모바일 개발자 되기
· Kotlin
❓ 나누어 떨어지는 숫자 배열array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 💡 풀이class Solution { fun solution(arr: IntArray, divisor: Int): IntArray { var newArr = arr.filter{it%divisor == 0}.sorted().toIntArray() return if(newArr.size == 0) newArr.plus(-1) else newArr }} arr 안의 값들 중 divisor로 나누어지는 값들만..
· CS
0️⃣ 고급 언어와 저급 언어컴파일 언어와 인터프리터 언어에 대해 알기 전에 먼저 이해하고 넘어가야 할 부분이 있다.컴퓨터는 0과 1로 된 정보만을 읽고 이해할 수 있다.위 말처럼 컴퓨터는 0과 1로 되어있는데 어떻게 사람이 쓴 프로그래밍 언어를 읽고 해석할 수 있는 걸까?이를 알기 위해선 고급어와 저급어에 대한 개념을 이해해야 한다.고급 언어(High-Level Language) : 사람을 위한 프로그래밍 언어 ex) Java, JavaScript, C ...저급 언어(Low-Level Language) : 컴퓨터가 이해하고 실행할 수 있는 언어 ex) 기계어, 어셈블리어즉, 컴퓨터는 저급 언어만을 이해할 수 있고 저급 언어는 고급 언어에 비해 훨씬 실행 속도가 빠르지만 저급 언어는 인간은 이해할 수 ..
· Kotlin
❓ 두 정수 사이의 합두 정수 a, b가 주어졌을 때 a와 b 사이에 속한 모든 정수의 합을 리턴하는 함수, solution을 완성하세요.예를 들어 a = 3, b = 5인 경우, 3 + 4 + 5 = 12이므로 12를 리턴합니다. 💡 풀이class Solution { fun solution(a: Int, b: Int): Long { var sum: Long = 0; for(i: Int in Math.min(a, b)..Math.max(a, b)){ sum += i; } return sum; }}sum 값을 저장할 변수를 Long타입으로 선언한다.Math.min(a, b) / Math.max(a, b)로 a와 b 중 최소값..
· CS
0️⃣ bit?2진법에 대해 이야기하기 전에 bit에 대해 먼저 알아야한다.컴퓨터는 0과 1로만 된 정보를 읽고 이해할 수 있다.bit는 컴퓨터가 이해할 수 있는 가장 작은 정보 단위이다. 또한, 컴퓨터가 이해할 수 있는 정보라는 것은 0과 1로 이루어져있다는 뜻이다. 일반적으로 bit는 전구 또는 전기 스위치에 빗대어 많이 표현한다. off (0) 또는 on (1), 총 두 가지 정보를 표현할 수 있고 전구 하나를 1bit라고 말한다. 아래 그림처럼 전구 2개가 있는 경우엔 2bit라고 이야기 한다.n개의 전구 즉 n비트는 2ⁿ가지 정보를 표현할 수 있다. 1️⃣ 2진법우리가 일상적으로 숫자를 세는 1, 2, 3, ... 10, 11 ... 과 같은 방법은 10진법이다. 10진법은 0부터 9까지 숫자를..
· Kotlin
❓ 자연수 뒤집어 배열로 만들기자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 💡 풀이class Solution { fun solution(n: Long): IntArray { var stringArray = n.toString().reversed().toList(); return stringArray.map{e -> e.toString().toInt()}.toIntArray() }}n은 Long타입이기 때문에 String으로 변환한다.String으로 변환된 n을 뒤집고 음절 단위로 끊어 배열로 변환한다.이 때 toList()로 반환한 배열은 List 타입이다.변환한 배열을 ..
· Kotlin
❓ 자릿수 더하기자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다. 💡 풀이class Solution { fun solution(n: Int): Int { return n.toString().toCharArray().map{ it.toString().toInt() }.sum() }}n은 숫자형이기 때문에 각 자릿수에 접근하여 사용하기 위해 toString을 통해 문자열로 변환한다.변환한 문자열을 음절 단위로 분리하여 배열로 반환하는 toCharArray 메소드를 사용한다.반환된 배열 내부에서 map..
· etc
내가 Android 트랙에 참여한 계기는 무엇인가요?안드로이드 트랙에 참가하게 된 이유는 Flutter 개발자의 한계를 느꼈기 때문이다. Flutter언어가 좋다고 블로그에 포스팅 할 때는 언제고 Kotlin인가! 싶지만 언어의 한계를 느꼈다기보단 협소한 필드에서의 벽을 느꼈다. 본디 직장인이란 더 큰 회사를 향한 욕구가 있기 마련인데 Flutter로는 중견~대기업의 문이 지나치게 좁아 내가 도전할 수 있는 기회가 적다고 느꼈다. 또한 크로스플랫폼 언어를 통해 모바일 개발을 꾸준히 하다보면 언젠가 Native 영역을 다루어야 할 시기가 올 것이라고 생각 돼, 부트캠프를 통해 자기개발을 하고 싶었다.내가 이해한 Android 개발자/앱개발자는 어떤 역할을 하는 사람인가요?안드로이드 개발자란, Android..
· Kotlin
❓ 제목각에서 0도 초과 90도 미만은 예각, 90도는 직각, 90도 초과 180도 미만은 둔각 180도는 평각으로 분류합니다. 각 angle이 매개변수로 주어질 때 예각일 때 1, 직각일 때 2, 둔각일 때 3, 평각일 때 4를 return하도록 solution 함수를 완성해주세요. 💡 풀이class Solution { fun solution(angle: Int): Int { return when (angle) { in 1..89-> 1 //예각 90 -> 2 //직각 in 91..179 -> 3 //둔각 180 -> 4 //평각 else -> 0 } }}예각, 직각,..
· Kotlin
❓ 짝수의 합정수 n이 주어질 때, n이하의 짝수를 모두 더한 값을 return 하도록 solution 함수를 작성해주세요. 💡 풀이class Solution { fun solution(n: Int): Int { var answer: Int = 0 for(i:Int in 1..n){ if(i%2 == 0){ answer += i; } } return answer }}풀이는 비교적 간단하다. n만큼 반복문을 돌린다.반복문 내부에서 조건문을 통해 짝수만을 더해 값을 구하면 된다.1. for in (.. / until)fun example(n: Int){ for(i:Int in..
0️⃣ WebView?어플리케이션을 쓰다보면 앱 내에서 웹페이지가 동작 할 때가 있다. 예를 들어, 네이버나 유튜브 화면을 띄울 필요가 있을 때 말이다. Flutter 내부에서도 그렇게 웹 페이지를 띄울 수가 있는데, 이때 사용하는 라이브러리가 바로 webview_flutter 이다.https://pub.dev/packages/webview_flutter webview_flutter | Flutter packageA Flutter plugin that provides a WebView widget on Android and iOS.pub.dev 1️⃣ webview_flutter 설치 $flutter pub add webview_flutter명령어를 통해 webview_flu..
· CS
0️⃣ 자료구조란?자료구조란, 컴퓨터가 데이터를 효과적으로 다룰 수 있게 도와주는 데이터 보관방법이자 데이터에 관한 연산의 총체를 일컫는다.이런 자료구조는 크게 두 가지로 나눌 수 있는데 단순자료구조와 복합자료구조로 나눌 수 있다. 단순자료구조 (Primitive)프로그램에서 기본적으로 지원하는 자료형으로, 언어별로 상이하다.ex) String, int, double, boolean...복합자료구조 (Non-primitive)단순자료구조를 기반으로 만들어낸 자료구조로 선형, 비선형으로 나뉜다.선형(linear) :  데이터 요소를 순차적으로 연결하고, 데이터 간의 관계는 1:1 구조를 가진다.ex) Array, Stack, Queue비선형(non-linear) : 데이터 요소를 비순차적으로 연결하여 보다..
⛔ 문제사항 맥북을 새로 구매하며 M3로 업그레이드 하고, Flutter를 처음부터 다시 세팅 해주는 중에 새로운 문제가 발생했다. Downloaded executables cannot execute on host. 라는 에러였는데, 친절하게도 아래 명령어를 입력하면 해결 가능하다고도 나와있다. ✅ 해결방안 $sudo softwareupdate --install-rosetta --agree-to-license 이 명령어를 통해 손쉽게 해결가능하다. 다만, 나 같은 경우엔 지속적으로 sudo: softwareupdate: command not found 이런 식으로 명령어를 찾을 수 없다고 나왔었는데 띄어쓰기를 잘 못 한 것으로 파악된다. 띄어쓰기만 신경 써서 명령어를 그대로 ctrl c+v 한 뒤, 다시..
깨비도
KKEVi.log()