전체 글 519

CS50 공부 - 알고리즘

링크주소 : http://www.edwith.org/cs50 버블정렬 (Bubble Sort) : 인접한 두 수를 비교해서 큰 수를 뒤로 보내는 정렬 방법이다.시간복잡도 O(n²)삽입정렬 (Insertion Sort) : 정렬되지 않은 숫자들을 하나씩 빼서 정렬되어 있는 숫자 사이의 올바른 위치에 삽입하는 정렬 방법이다. 삽입 정렬은 자료의 양이 적을 때 성능이 우수하며 자료 대부분이 이미 정렬이 되어있는 경우 효율적이다.선택정렬 (Selection Sort): 배열 안의 자료 중 가장 작은 수(혹은 가장 큰 수)를 찾아 첫 번째 위치(혹은 가장 마지막 위치)의 수와 교환해주는 방식의 정렬 방법이다.합병정렬 (Merge Sort) : 원소가 한 개가 될 때까지 계속해서 반으로 나누다가 다시 합쳐나가며 정..

Dev/Algorithm 2018.03.20

1D1A - One Day One Algorithm

문제 - 최대공약수와 최소공배수 두 수를 입력받아 두 수의 최대공약수와 최소공배수를 반환해주는 gcdlcm 함수를 완성해 보세요. 배열의 맨 앞에 최대공약수, 그 다음 최소공배수를 넣어 반환하면 됩니다. 예를 들어 gcdlcm(3,12) 가 입력되면, [3, 12]를 반환해주면 됩니다. 기본제공import java.util.Arrays; class TryHelloWorld { public int[] gcdlcm(int a, int b) { int[] answer = new int[2]; return answer; } // 아래는 테스트로 출력해 보기 위한 코드입니다. public static void main(String[] args) { TryHelloWorld c = new TryHelloWorld(..

Dev/Algorithm 2018.03.19

CS50 공부 - 알고리즘

의사코드는 프로그래밍언어보다 문법적 제약을 적게 받는 알고리즘 표현 방법이다. 선형탐색(순차탐색)은 원하는 원소가 발견될 때까지 처음부터 마지막 자료까지 차례대로 탐색한다.1. 정확하지만 아주 효율적이지 못한 방법이다.2. 자료가 정렬되어 있지 않거나 그 어떤 정보도 없어 하나씩 찾아야 하는 경우에 유용하다. 이진탐색은 정렬된 데이터를 좌우 둘로 나워서 원하는 값의 탐색 범위를 좁혀가며 찾는 방법이다.추가 포스팅1. CS50 알고리즘 - 버블정렬, 선택정렬, 삽입정렬(링크)

Dev/Algorithm 2018.03.19

프렌즈 그리고 직장, 직업

거의 1달전부터 넷플릭스에서 프렌즈(미국드마라)를 보고 있다. 주로 퇴근길 지하철에서 그리고 퇴근 후 혹은 주말에 아무것도 하기 싫을때 봐왔다. 그리고 거의 모든 시리즈의 종착점에 다가가고 있다.프렌즈는 여러가지 소재를 다루는 드라마인것 같다. 모든 시즌을 마무리할때가 되어가다보니 직장에 관한 내용들이 유독히 지금의 머리속에 남아있는것 같다. 1. 피비는 프리랜서 마사지사이고 약간의 이상주의자 인것 같이 나온다. 돈(?) 때문에 중간에 더 많은 돈을 벌 수 있는 대형 마사지에 잠깐 일하다가 레이첼과 해프닝이 발생하기도 했다. 2. 챈들러는 현재로 통계 분석가로 일했다가 카피라이터로 옮겼는데, 본인이 잘할 수 있는 일이란것과 하고싶은 일에 대한 딜레마를 다룬듯한 느낌이다. 지금도 과연 잘하는 수 있을 하고..

Log 2018.03.18

1D1A - One Day One Algorithm

문제 - 행렬의 덧셈 행렬의 덧셈은 행과 열의 크기가 같은 두 행렬의 같은 행, 같은 열의 값을 서로 더한 결과가 됩니다. 2개의 행렬을 입력받는 sumMatrix 함수를 완성하여 행렬 덧셈의 결과를 반환해 주세요.예를 들어 2x2 행렬인 A = ((1, 2), (2, 3)), B = ((3, 4), (5, 6)) 가 주어지면, 같은 2x2 행렬인 ((4, 6), (7, 9))를 반환하면 됩니다.(어떠한 행렬에도 대응하는 함수를 완성해주세요.) 제출 답안class SumMatrix {int[][] sumMatrix(int[][] A, int[][] B) {int[][] answer = new int[A.length][A[0].length]; for (int i = 0; i < answer.length; ..

Dev/Algorithm 2018.03.14

부모 레이아웃과 자식 레이아웃의 클릭 리스너 트리거 - DuplicateParentState

부모 레이아웃과 자식 레이아웃에 동일한 클릭 리스너 적용하기 하위 레이아웃의 클릭 반응이 상위 레이아웃에 동일하게 클릭 리스너가 적용하기 위해서 DuplicateParentState 속성을 추가해 줘야한다.android:duplicateParentState="true"참고 : https://stackoverflow.com/a/8050279/3897810 구현에 따른 생각 과정 :나의 경우, 위와 같은 버튼을 만들었다. 중간의 사진을 제외하고는 레이아웃으로 쪼개서 구현하였기 때문에 레이아웃이 파편화 되어있다.그런데 저 버튼 전체가 클릭 리스너 반응이 적용되야 했다. 그런데 레이아웃이 파편화 되어있기에 하나씩 id 를 부여하고 리스너를 줘야하는가 라는 생각을 했고, 아니다라는 생각으로 해당 레이아웃을 구현한..

Dev/Android 2018.03.13

이 앱은 기기에 최적화되어 있지 않을 수도 있습니다.

이 앱은 기기에 최적화되어 있지 않을 수도 있습니다 안드로이드 태블릿 최적화 방법 ** 해당 글은 개발자적 관점에서 올린 해결 방법입니다 기기 최적화에 대한 해결 방법 2가지1. APK가 일반적인 태블릿 화면 밀도에 최적화된 맞춤 드로어블 애셋이 있어야 한다.https://developer.android.com/develop/quality-guidelines/tablet-app-quality.html#use-tablet-icons 2. 태블릿 스크린샷이 업로드 되어야 한다.

Dev/Android 2018.03.12