Home
Yoon-Min
Cancel

(프로그래머스 | Kotlin) - 무인도 여행

해결 방법 그래프 탐색을 이용해서 X 가 아닌 영역들을 찾아서 합산한다. BFS 혹은 DFS 를 사용하면 되는데 나는 DFS 를 사용해서 풀었다. maps 의 모든 원소를 반복문으로 돌면서 X 가 아니면서 방문하지 않은 곳을 시작점으로 두고 DFS 를 돌린다. 그리고 DFS 를 돌면서 방문한 점들은 모두 방문 처리(true)를 한다. 전형적인 DF...

(프로그래머스 | Kotlin) - 메뉴 리뉴얼

해결 방법 가장 간단한 해결 방법은 orders 의 모든 원소들을 course 내의 희망 개수에 맞춰 단품메뉴 조합을 만드는 것이다. 예를 들어서 1번 예시를 보면 orders 의 첫 번째 원소는 ABCFG, course 의 첫 번째 원소는 2 다. 이를 토대로 ABCFG 에서 두 개로 구성된 조합을 모두 꺼내서 map 에 카운트를 증가시킨다. 마...

(프로그래머스 | Kotlin) - 2차원 동전 뒤집기

해결 방법 이 문제는 특정 행, 혹은 열을 뒤집어서 원하는 형태를 만드는 게 핵심이다. 어떤 행, 혹은 열을 뒤집는 순서가 중요한 것이 아니다. 어떤 행, 혹은 열의 상태를 어떻게 할 것인지(뒤집거나 그대로 두거나)가 중요하다. M X N 형태에서 특정 열과 행의 상태를 결정하는 방식으로 로직을 짜면 된다. ​ 뒷면, 앞면의 상태값을 비트로 ...

(프로그래머스 | C++) - 방금그곡

해결 방법 문제에서 주어진 조건을 가지고 시킨 것만 잘 수행하면 된다. musicinfos 에서는 "12:00,12:14,HELLO,CDEFGAB" 형식의 문자열을 원소로 가지고 있다. 이 문자열을 잘 분해해서 처리해야 하는데 순서는 다음과 같다. 문자열을 , 기준으로 split 한 배열을 생성한다. ["12:00", "12:14"...

(프로그래머스 | Kotlin) - 전력망을 둘로 나누기

해결 방법 특정 전선이 끊어지면 하나의 트리는 두 개의 그룹으로 나뉘게 된다. 따라서 두 개의 그룹 각각, DFS 혹은 BFS 를 이용해서 그룹 내 노드의 개수를 카운트한다. 나는 BFS 를 이용해서 노드의 개수를 구했다. 그리고 탐색 시작점은 제거한 전선과 연결된 노드로 지정했다. 첫 번째 입출력 예제 그림에서 4 와 7 이 연결된 전선을 끊은...

(프로그래머스 | Kotlin) - 호텔 대실

해결 방법 이 문제의 핵심은 그리디 알고리즘을 이용하는 것이다. 우선 문제에서 예약 시작 시간과 종료 시간이 여러 개 담긴 배열을 줬으므로 해당 예약 시작 시간을 기준으로 배열을 정렬시킨다. 그리고 정렬된 배열을 가지고 반복문을 돌려서 현재 원소의 예약 시작 시간보다 10분 더 적은 종료 시간이 있는 방 번호를 찾는다. 예를 들어서 현재 예약이 잡...

(프로그래머스 | Kotlin) - 매칭 점수

해결 방법 정말 보자마자 머리가 지끈거리는 문제였다. 카카오 코테 문제를 풀어보면서 문자열 처리 로직을 많이 작성했었는데 설마 html 형식을 통째로 주는 건 상상도 못했다. 필요한 건 크게 url, 키워드, 외부 링크, 이렇게 세 가지다. 여기서 문제는 해당 세 가지를 구하기 위해서 정규식을 사용해야 하는데 나는 정규식을 사용할 때 항상 검색해서...

(프로그래머스 | Kotlin) - 수식 최대화

해결 방법 뭔가 풀이 방법이 다양할 것 같은 문제인데 나는 재귀를 이용해서 해결했다. 연산 기호가 최대 세 개인데 연산 우선순위를 리스트로 표현했다. 예를 들어서 표현식에서 사용된 연산 기호가 * - , 2개라면 만들 수 있는 우선순위 조합은 2개, [[*, -], [-, *]] 이렇게 리스트로 표현이 가능하다. 인덱스가 클수록 연산 우선순위가 높...

Kotlin Generic (1) 제네릭 클래스와 함수, 그리고 변성

Kotlin도 Java의 제네릭 기능을 제공한다. “Classes in Kotlin can have type parameters, just like in Java:” - Kotlin 공식 문서 코틀린의 클래스는 자바와 마찬가지로 타입 파라미터를 가질 수 있습니다. 제네릭을 사용함으로써 컴파일 타임에 타입 안전성을 관리할 수 있고 여러 타입에...

Android BuildConfig 적용 안되는 현상

빌드를 다시 해봐도 BuildConfig 가 없음 BuildConfig 는 보통 노출되면 안되는 값을 저장할 때 사용되곤 합니다. 그래서 프로젝트를 몇번 해봤다면 해당 기능을 사용해봤을 겁니다. 보통 서버 주소나 API 키와 같은 중요한 값들을 로컬 프로퍼티에 저장을 하고 재빌드를 해서 BuildConfig 를 참조하게 됩니다. 그런데 재빌드를 했음...