분류 전체보기
-
[ Kotlin ] return, break, continue문Kotlin 2020. 12. 9. 16:56
이 글은 부스트코스에서 코틀린 강의를 들으며 정리한 글 입니다 Index return break continue retrun ^ return으로 Unit 반환 람다식에서 return 사용하기 람다식 함수 외부의 함수까지 빠져 나가 비지역 반환이 일어난다.따라서 아래의 코드에서 아무것도 출력되지 않는다. 람다식에서 라벨과 함께 return 사용하기 인라인(inline)으로 선언되지 않은 람다식 함수에서 return을 사용하는 경우, 그냥 사용할 수 없고 라벨(@label) 표기와 함께 사용해야 한다. label 이란 코드에서 특정한 위치를 임의로 표시한 것으로, @ 기호에 이름을 붙여서 사용한다. (라벨이름)@ : 람다식 블록의 시작 부분에 라벨을 지정 @(라벨이름) : 라벨을 사용한 블록의 끝부분을 지정..
-
[ Kotlin ] 조건문 / 반복문Kotlin 2020. 12. 4. 16:07
Index 조건문 ( if ~ else ) 범위 연산자 ( in..범위 ) when 반복문 ( for / while / do~while ) 조건문 ( if ~ else ) ^ 범위 연산자 ^ 포함 여부를 확인하는 in 연산자와 두 개의 점(..)으로 구성된 범위(range) 연산자 when ^ 다른 언어에서 흔히 사용되던 switch~case를 대체하는 코틀린에서만 제공되는 문법 Java에서와 달리 break나 return 을 따로 적어주지 않아도 된다! 인자가 있는 경우 인자가 없는 경우 반복문 ^ for문 코틀린에서는 Java와 C++과 같은 세미콘론 표현식을 사용하진 않는다. while문 do ~ while문 untile 과 0..(input-1)이 똑같이 작동한다. 출처 1. 부스트코스 - 코틀린
-
[ Kotlin ] 중위함수와 꼬리재귀 함수Kotlin 2020. 12. 3. 18:50
Index 중위함수 재귀 꼬리재귀 중위함수 ^ 중위 함수의 조건 1. 멤버 메서드 또는 확장 함수여야 합니다. 2. 하나의 매개변수를 가져야 합니다 3. infix 키워드를 사용하여 정의합니다. 재귀 ^ 재귀는 스택 영역을 이용하기 때문에 호출 횟수가 많아지면 문제가 발생할 수 있다. ( 스택오버플로우가 발생 할 수 있다 ) 코드를 복잡하지 않게 해야 한다. 꼬리 재귀 함수 ( Tail Recursive Function ) ^ 스택오버플로우를 예방할 수 있다. 스택에 계속 쌓이는 방식이 아닌 꼬리를 무는 형태로 반복한다. ( 자기 자신을 덮어씌우면서 작동 ) 무한루프에 빠지지 않게 조심해야 한다. 코틀린 고유의 tailrec 키워드를 사용해 선언한다. 출처 1. 부스트코스 - 코틀린
-
[ Android ] 임시 파일 생성해서 외부 앱으로 찍은 사진 받기Android/멀티미디어 2020. 9. 16. 20:21
resolveActivity() takePictureIntent.resolveActivity(getPackageManager()) 결과가 null이 아닌 경우, 인텐트를 처리할 수 있는 앱이 최소한 하나는 있다는 뜻이며 startActivity()를 호출해도 안전합니다. 결과가 null이면 해당 인텐트를 사용해서는 안 되고, 가능하면 해당 인텐트를 호출하는 기능을 비활성화해야 합니다. Code public class ReportCameraActivity extends AppCompatActivity { private File filePath; private ImageView resultView; private String currentPhotoPath; @Override protected void onC..
-
[ 2018 KAKAO BLIND RECRUITMENT 1차] 프렌즈4블록도움말Algorithm/프로그래머스 2020. 9. 4. 18:04
문제 https://programmers.co.kr/learn/courses/30/lessons/17679 코딩테스트 연습 - [1차] 프렌즈4블록 프렌즈4블록 블라인드 공채를 통과한 신입 사원 라이언은 신규 게임 개발 업무를 맡게 되었다. 이번에 출시할 게임 제목은 프렌즈4블록. 같은 모양의 카카오프렌즈 블록이 2×2 형태로 4개가 붙�� programmers.co.kr 처음에는 BFS로 풀 수 있는 문제인가 했지만 아래 그림과 같이 4칸 씩 되어 있는 것만 지울 수 있고 board의 사이즈가 작기 때문에 for문을 중첩해서 확인하면서 찾는 편이 나을 것이라 생각했다. Code
-
[ 2018 KAKAO BLIND RECRUITMENT ] 뉴스 클러스터링Algorithm/프로그래머스 2020. 9. 2. 15:48
뉴스 클러스터링 https://programmers.co.kr/learn/courses/30/lessons/17677 코딩테스트 연습 - [1차] 뉴스 클러스터링 뉴스 클러스터링 여러 언론사에서 쏟아지는 뉴스, 특히 속보성 뉴스를 보면 비슷비슷한 제목의 기사가 많아 정작 필요한 기사를 찾기가 어렵다. Daum 뉴스의 개발 업무를 맡게 된 신입사원 튜브�� programmers.co.kr 자카드 유사도는 원소의 중복을 허용하는 다중집합에 대해서 확장할 수 있다. 다중집합 A는 원소 1을 3개 가지고 있고, 다중집합 B는 원소 1을 5개 가지고 있다고 하자. 이 다중집합의 교집합 A ∩ B는 원소 1을 min(3, 5)인 3개, 합집합 A ∪ B는 원소 1을 max(3, 5)인 5개 가지게 된다. 다중집합 ..
-
[ 2018 KAKAO BLIND RECRUITMENT ] 추석 트래픽Algorithm/프로그래머스 2020. 8. 29. 22:51
문제 https://programmers.co.kr/learn/courses/30/lessons/17676 코딩테스트 연습 - [1차] 추석 트래픽 입력: [ 2016-09-15 20:59:57.421 0.351s, 2016-09-15 20:59:58.233 1.181s, 2016-09-15 20:59:58.299 0.8s, 2016-09-15 20:59:58.688 1.041s, 2016-09-15 20:59:59.591 1.412s, 2016-09-15 21:00:00.464 1.466s, 2016-09-15 21:00:00.741 1.581s, 2016-09-15 21:00:00.748 programmers.co.kr 파싱 후에 계산을 어떻게 해야할지 고민을 많이 한 문제였다. 문제에서 2016-0..
-
[ Kotlin ] 익명 함수( Anonymous Functions )와 인라인 함수( Inline Functions )Kotlin 2020. 8. 4. 16:36
익명 함수 ( Anonymous Functions ) 익명함수란 일반 함수이지만 이름이 없는 함수입니다. 람다식과 구성이 비슷하지만 익명 함수의 경우 return, break, continue가 사용 가능하고 람다식에서는 사용하기 어렵습니다. 따라서 조건식에 따라서 함수를 중단하거나 반환해야 하는 경우 일반 익명 함수로 사용해야 할 필요가 있습니다. 인라인 함수 ( Inline Functions ) inline함수는 함수가 호출되는 곳에 코드를 복사해 넣어 함수의 분기 없이 처리됩니다. 코드의 복사로 인해 분기가 없다는 점에서 속도를 높일 수 있지만 복사할 코드가 긴 경우 프로그램의 용량도 늘어나고 속도 향상도 되지 않을 수 있습니다. 따라서 inline 함수는 대게 짧은 코드로 작성되고 람다식 매개변수..