본문 바로가기

Development

Kotlin 기본 문법 1. Kotlin 으로 업무도 많이 했지만, Android 개발을 Java 로 시작해서 Kotlin 으로 점차 넘어갈 때는 제대로 공부를 못하고 바로 업무를 하게 되었다. Java 를 쓰다 Kotlin 으로 넘어오면, 비슷한 부분이 많아 크게 어려운 부분은 없고 검색해보면 금방 처리 할 수는 있었다. 하지만 기본적인 것을 건너뛰고 바로 업무에 사용하다보니 모르고 사용하던 것들도 많고, 효율적이지 못한 코드도 많이 사용해온 것 같다. Java 에 비해 간결하게 짤 수 있는 코드도, 기본기가 없었던 내겐 단지 동작에 문제가 없으면 만족할 뿐이었다. 서론이 길었지만, 이제라도 기본기를 다듬고 싶어서 천천히, 너무나 쉬운 내용부터 정리를 해본다. 변수 선언 : val 과 var // val = value -> imm.. 더보기
[Android] Doze 모드 테스트 하기 개발을 하다보면 여러 상황에서 테스트를 많이 하게 됩니다. 특히 안드로이드의 경우 제조사 별, OS 별 동작이 상이하거나 예외 상황이 정말 많은 것 같습니다. 최근 여러가지 상황 중 Doze 모드에 관련해서 알아보았습니다. 처음 Doze 모드 라는 것을 들었을 때는 Android 6.0(Mashmallow) 버전이 나왔던 2015년도 말 ? 2016년도 초 ? 정도 였던 것 같습니다. 아마도 mashmallow 버전의 동작 변경사항을 확인하면서 보았으나.. 뭔지도 모르고 스윽 지나갔던 것 같습니다. Doze 모드는 6.0(API 23 수준) 부터 추가된 내용으로 배터리가 연결되지 않은 상태에서 움직임이 없이 특정 시간이 지나면 해당 모드로 전환되어 배터리 소모를 줄여주는 모드 입니다. 그리고 7.0(A.. 더보기
[코딩테스트 연습] 같은 숫자는 싫어 같은 숫자는 싫어 출처 - 프로그래머스(Programmers) 레벨 1의 문제로 어렵지 않은 문제 입니다. 문제 : 배열 arr 의 각 원소는 숫자 0부터 9까지로 이루어져 있다. 이 때, arr에서 연속적으로 나타나는 숫자는 하나만 남기고 제거하려고 한다. 단, 제거된 후 남은 수들을 반환할 때 배열 원소들의 순서를 유지한다. 예) arr = [1, 1, 3, 3, 0, 1, 1] 이면, [1, 3, 0, 1] 을 return 합니다. arr = [4, 4, 4, 3, 3] 이면, [4, 3] 을 return 합니다. 제한 사항 - 배열 arr 의 크기 : 1,000,000 이하의 자연수 - 배열 arr의 원소 크기 : 0보다 크거나 같고, 9보다 작거나 같은 정수 효율성 테스트에서도 잘 통과할 수 있.. 더보기
[코딩테스트 연습] 크레인 인형뽑기 게임 크레인 인형뽑기 게임 - 2019 카카오 개발자 겨울 인턴십 출처 - 프로그래머스(Programmers) 내용이 길어서 필요한 부분만 적었습니다. 문제 원본은 '프로그래머스' 에서 보시면 될 것 같습니다. (제 풀이는 맨 마지막에 있습니다.) 문제 : 게임 화면은 1 X 1 크기의 칸들로 이루어진 N X N 크기의 정사각 격자이며, 위쪽의 크레인으로 인형을 집어 뽑은 인형은 우측 바구니에 담기게 됩니다. 위 사진과 같은 형태이며, 각 격자 칸에는 다양한 인형이 있고, 인형이 없는 칸은 빈칸 입니다. 게임 사용자는 크레인을 좌우로 움직여 멈춘 위치의 가장 위에 있는 인형부터 뽑을 수 있습니다. 집어 올린 인형은 우측 바구니에 쌓이게 되는데, 이때 바구니의 가장 아래 칸 부터 인형이 쌓이게 됩니다. 다음은 .. 더보기