
[Android] Constraint Layout Guideline (컨스트레인트 레이아웃 가이드라인)
2022. 6. 7. 10:27
Android-Kotlin📱
Constraint Layout 뷰와 뷰에 대한 제약조건을 통해 위치를 고정시킴과 동시에 연결합니다. 항상 기준(위치)이 정해져있음으로 수정이 용이합니다. Chain을 이용하여 위젯 사이사이에 간격을 넓히거나, 채움이 가능합니다. Layout 내부에서 하나 이상에 제약조건이 없다면 컴파일 오류가 발생하여 오류 수정이 용이합니다. Layout을 선택하는 기준은 화면을 구성할 때 가장 적합한 Layout을 사용 해야하기 때문에 어느 Layout이라도 알아야 된다고 생각합니다. (각자 장점과 단점이 존재하기 때문에) 계산기 앱은 TableLayout, 주문 앱은 TabLayout 등 다양한 Layout이 있지만 ConstraintLayout으로 대체 되는 이유는 타겟에 위치와 크기를 자유롭고 계층을 생성하지 ..

[프로그래머스 1단계] 푸드 파이트 대회 - 코틀린
2022. 6. 6. 23:50
Algorithm🖥️/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/134240?language=kotlin 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물..

[프로그래머스 1단계] K번째수 - 코틀린
2022. 6. 4. 20:11
Algorithm🖥️/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/42748?language=kotlin 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3..

[프로그래머스 1단계] 과일 장수 - 코틀린
2022. 6. 3. 21:55
Algorithm🖥️/프로그래머스
더보기 https://school.programmers.co.kr/learn/courses/30/lessons/135808?language=kotlin 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 1. 문제 과일 장수가 사과 상자를 포장하고 있습니다. 사과는 상태에 따라 1점부터 k점까지의 점수로 분류하며, k점이 최상품의 사과이고 1점이 최하품의 사과입니다. 사과 한 상자의 가격은 다음과 같이 결정됩니다. 한 상자에 사과를 m개씩 담아 포장합니다. 상자에 담긴 사과 중 가장 낮은 점수가 p (1 ≤ p ≤ k)점인 경우, 사과 한 상자의 가격은 p *..

[CS] 동기, 비동기 특징 및 차이점
2022. 6. 3. 00:03
Computer Science🔎
공통점 - 함수, 네트워크 관련 작업 (서버 통신)등 어떠한 작업을 하기 위해 동작하는 프로그래밍 모델입니다. 동기식 프로그래밍 특징 다음 작업이 시작되기 전에 한 작업이 완료되어야 합니다. 장점 1. 동기식 앱은 표준입니다. → 개발자는 프로그래밍 여부에 대해 걱정할 필요가 없습니다. 2. 작성하기 쉽고 프로세스 흐름을 추적하고 측정할 필요가 없습니다. 단점 1. 수많은 요청과 함수가 있을시 동기식 프로그래밍은 비동기식 프로그래밍보다 로딩 시간이 더 느릴 수 있습니다. 2. 스레드가 잠기면 연속된 후속 스레드도 중지됩니다. 동기프로그래밍 → 매직패스 없이 주말에 롯데월드 가기 DB Query와 같이 시간이 많이 걸리는 작업 (300줄 ~ 500줄) → 동기 작업이 한 번에 하나씩 발생하기 때문에, 중간..

[Kotlin] Delegation Pattern, by
2022. 6. 1. 16:10
Android-Kotlin📱
https://kotlinlang.org/docs/delegation.html Delegation pattern, 델리게이션 패턴은 디자인 패턴 중 하나입니다. 디자인 패턴이란? 개발에 있어서 발생하는 일반적인 문제(반복 코드 제거, 수정 용이 등등..)에 대해 솔루션을 구상하기 시작했으며, 개발 설계의 도움이 되는 솔루션의 집약체 이 디자인 패턴은 객체지향 프로그래밍에 특징 중 하나인 코드의 재사용을 향상 시키기 위한 패턴이며 델리게이션 패턴은 Kotlin 뿐만 아니라, iOS에 개발언어인 Swift에도 존재합니다. 코드의 재사용을 향상 시키는 것은 상속도 있는데 왜 쓰나요? → 상속은 SuperClass, SubClass로 구성되고, 강한결합으로 이루워져 있기 때문에 Super Class의 변화가 일..

[프로그래머스 2단계] 멀리 뛰기 - 코틀린
2022. 5. 30. 11:49
Algorithm🖥️/프로그래머스
https://school.programmers.co.kr/learn/courses/30/lessons/12914 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 효진이는 멀리 뛰기를 연습하고 있습니다. 효진이는 한번에 1칸, 또는 2칸을 뛸 수 있습니다. 칸이 총 4개 있을 때, 효진이는 (1칸, 1칸, 1칸, 1칸) (1칸, 2칸, 1칸) (1칸, 1칸, 2칸) (2칸, 1칸, 1칸) (2칸, 2칸) 5가지 방법으로 맨 끝 칸에 도달할 수 있습니다. 멀리뛰기에 사용될 칸의 수 n이 주어질 때, 효진이가 끝에 도달하는 방법이 몇 가지인지 알아내, 여..

[프로그래머스] 옹알이 (1) - Kotlin
2022. 5. 29. 23:26
Algorithm🖥️/프로그래머스
class Solution { fun solution(babbling: Array): Int { var answer: Int = 0 //머쓱이의 조카가 발음 할 수 있는 단어의 수 val list = arrayListOf("aya", "ye", "woo", "ma") //단어 : aya, ye, woo, ma babbling.forEach { //리스트형식에 데이터 개수만큼 반복 실행 var temp = it // it == temp == babbling for(i in 0..list.size - 1) { //반복문을 사용하여 단어의 수를 감소 시킨다 temp = temp.replace(list[i], "0") //babbling의 리스트를 변경 } if(temp.replace("0","") == "")..