분류 전체보기

BOJ

[ 백준 2467 ] - 용액 (Kotlin)

2467번: 용액 첫째 줄에는 전체 용액의 수 N이 입력된다. N은 2 이상 100,000 이하의 정수이다. 둘째 줄에는 용액의 특성값을 나타내는 N개의 정수가 빈칸을 사이에 두고 오름차순으로 입력되며, 이 수들은 모두 - www.acmicpc.net 문제 이해 & 기본 개념 배열의 원소 중 2개의 합이 0에 가장 가까운 원소 쌍을 찾는 문제 투 포인터를 이용하면 쉽게 구할 수 있다. 중요 포인트 두 개의 포인터를 양 쪽 끝에서 시작하는게 포인트 최종 풀이 두 개의 포인터를 각각 배열의 맨 앞과 맨 뒤에 배치한다. 왼쪽 포인터를 당기는 경우 or 오른쪽 포인터를 당기는 경우 중 0에 더 가까워 지는 쪽으로 포인터를 이동한다. cur = abs(num[i] + num[j]) // 현재 두 원소의 합 if(..

안드로이드/에러 해결

[ 안드로이드 ] org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException 에러 해결 방법

에러 문구Caused by: org.gradle.api.internal.artifacts.ivyservice.DefaultLenientConfiguration$ArtifactResolveException: Could not resolve all files for configuration ':app:debugRuntimeClasspath'.새 프로젝트를 시작하기 전 UI 테스트 용 프로젝트를 만들어 라이브러리 등을 커스텀하며 테스트 해보고 있었다.Collapse Calendar 라이브러리를 Github에서 받아 적용하던 중 위와 같은 에러가 났다.제작자의 Github에는 root build.gradle에 maven { url 'https://jitpack.io' }를 추가하라고 되어 있다.적혀 있는대로 추..

BOJ

[ 백준 2166 ] - 다각형의 면적(Kotlin)

2166번: 다각형의 면적 첫째 줄에 N이 주어진다. 다음 N개의 줄에는 다각형을 이루는 순서대로 N개의 점의 x, y좌표가 주어진다. 좌표값은 절댓값이 100,000을 넘지 않는 정수이다. www.acmicpc.net 문제 이해 & 기본 개념 n개의 점으로 이루어진 다각형의 넓이를 구하는 문제 신발끈 공식을 이용하면 쉽게 풀 수 있다. 중요 포인트 N이 최대 10,000까지, 각 좌표의 절댓값이 최대 100,000이므로 Long 타입을 선택해야 한다. 신발끈 공식에서는 좌표를 이어지도록 나열하는 것이 중요한데, 해당 문제에서는 다각형을 이루는 순서대로 입력이 들어온다. 만약, 순서가 랜덤이라면 하나의 다각형으로 고정 되지 않기에 문제가 성립되지 않는다. 스페셜 저지면 가능하겠지만, 일반 문제이기 때문에..

BOJ

[ 백준 1463 ] - 1로 만들기 (Kotlin)

1463번: 1로 만들기 첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다. www.acmicpc.net 문제 이해 & 기본 개념 아래 3가지 방법을 통해 입력 받은 수를 1로 만드는 것 X가 3으로 나누어 떨어지면, 3으로 나눈다. X가 2로 나누어 떨어지면, 2로 나눈다. 1을 뺀다. 최소 횟수를 구해야하는 문제 3으로 나누는게 1을 빼는 것보다 수가 훨씬 작아지므로 자칫하면 그리디 문제로 오해할 수 있다. ex) n = 10 10 -> 9 -> 3 -> 1 10 -> 5 -> 4 -> 2 -> 1 이처럼 가능한 큰 수로 나누는 것보다 1을 먼저 빼는 경우가 최소 횟수가 될 수도 있기 때문에 dp를 이용한다. 최종 풀이 파란색이 처음 계산 되는 부분 빨간색이 중복 계산 되는 ..

안드로이드

[ 안드로이드 ] 멘토링 과제 1.

채용 공고 현황 & 부족한 부분 1. 주요 자격 요건 & 우대 사항 채용 공고에서 자주 나오는 항목들을 총 5 가지의 카테고리로 분류하여 정리해 보았습니다. 더보기 언어 Kotlin 개발 경험 (대부분은 Kotlin이 많았음) Java 개발 경험 아키텍처 안드로이드 플랫폼에 대한 이해 AAC, Clean Architecture 디자인 패턴 (구조 패턴 ) 협업 서버 개발자와의 협업 Git / Git-Flow를 이용한 개발 경험 타 직군과(디자이너, 기획자) 협업 경험 기술 스택 & 라이브러리 Jetpack 라이브러리 (Compose 등) Coroutine, Flow 개발 경험 DI(Koin/Hilt/Dagger) 라이브러리 개발 경험 Retrofit2 개발 경험 개발 경험 백그라운드 프로세스 개발 경험 ..

BOJ

[ 백준 11055 ] - 가장 큰 증가 부분 수열 (Kotlin)

11055번: 가장 큰 증가 부분 수열 수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수 www.acmicpc.net 문제 이해 & 기본 개념 수열에서 증가하는 부분 (이어질 필요 x)에서 가장 합이 큰 경우를 찾아야하는 문제 중요 포인트 모든 경우의 수를 보는 방법도 있긴 하겠지만, 중복된 연산이 많이 발생 중복된 연산을 줄이기 위해 dp를 사용하면 간단하게 풀 수 있음 최종 풀이 점화식 dp[i] = max(dp[i], dp[j] + a[i]) i는 현재 위치, j는 이전에 선택된 원소의 위치 dp[i]는 i까지의 최..

BOJ

[ 백준 10814 ] - 나이순 정렬 (Java)

10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 문제 이해 & 기본 개념 회원의 나이와 이름이 입력된다. 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 문제 중요 포인트 입력 데이터를 클래스로 묶는 것 Comparable 인터페이스를 사용하여 정렬 기준을 재정의하는 것 최종 풀이 Comparable 인터페이스의 compareTo 메소드를 오버라이드하면 정렬 기준을 변경할 수 있다. compareTo의 반환 값이 양수이면 두 객체를 swap한다. class User im..

BOJ

[ 백준 11659 ] - 구간 합 구하기 4 (Java, Kotlin)

11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 문제 이해 & 기본 개념 N개 원소를 가진 배열이 있을 때, i~j 구간의 합을 구하는 문제 N과 M이 최대 10만이므로, 매번 특정 구간의 합을 구하면 시간 초과 발생 최악의 경우 N = 100,000 M = 100,000 (입력으로 들어오는 구간의 수) M(10만)개의 구간이 전부 (1~100,000)이라면 ? N(10만)개의 원소의 합을 M(10만)번 구해야하므로 시간 복잡도는 O(nm) = O(n^2) (n과 m이 같은 경우) 즉, ..

dongx._.2
'분류 전체보기' 카테고리의 글 목록 (8 Page)