일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- 오르막수
- BFS
- java
- BuildConfig
- 지능형 기차2
- 자바
- 시뮬레이션
- 스카이라인 쉬운거
- val
- Android
- Kotlin
- hilt
- 프로그래머스
- dfs
- EditorInfo
- 약수 구하기
- SWEA
- 순열
- Parcelize
- Parcelable
- 2501
- 백준 14501
- 완전탐색
- 백준
- 최단경로
- imeOptions
- 백준 퇴사
- EditText
- 조합
- 순수함수
- Today
- Total
목록java (7)
안드 공부를 해볼까?
1. 개요 이번 포스팅에서는 이진수를 구하겠습니다. 사실 자바에서는 간단하게 구현할 수 있어 문제를 기준으로 보겠습니다. 2. 본문 항상 문제를 풀다보면 10진수 -> 2진수, 10진수 -> 16진수로 변환해서 푸는 문제가 존재했습니다. 2진수는 0과 1로 만든 숫자입니다. 각 자릿수는 2의 제곱으로 이루어져 있습니다.(2^0, 2^1, 2^2...) 8진수는 0부터 7까지로 만든 숫자입니다. 각 자릿수는 8의 제곱으로 이루어져있습니다.(8^0, 8^1, ...) 16진수는 0부터 15까지 한자리 숫자로 만든 숫자 입니다. 각 자릿수는 16의 제곱으로 이루어져있습니다.(16^0, 16^1 ...) 그렇다면 16이라는 10진수를 각 진수에 맞게 변환하면 어떻게 될까요? import java.io.Buffe..
1. 개요 약수 구하는 방법은 기본적으로 그 수와 나눠서 나머지가 없다면 그것은 약수가 됩니다. 하지만 우리는 더 새로운 방법을 찾아봅시다. 2. 본문 만약 우리가 약수를 구한다고 할 때 단순히 생각나는 것은 약수를 전부다 구하는 것 입니다. 하지만 21억의 약수를 구한다고 하면 21억번을 반복해야할까요? int num = Integer.parseInt(st.nextToken()); int pos = Integer.parseInt(st.nextToken()); ArrayList list = new ArrayList(); for(int i = 1; i i에 대응하는 수 -> 약수 (하지만 중복처리를 위해 num / i != i) 간단하게 12를 예로 들어보겠습니다. 12 = 1 2 3 4 6 12, 제곱근..
1. 문제분석 https://www.acmicpc.net/problem/1863 1863번: 스카이라인 쉬운거 첫째 줄에 n이 주어진다. (1 ≤ n ≤ 50,000) 다음 n개의 줄에는 왼쪽부터 스카이라인을 보아 갈 때 스카이라인의 고도가 바뀌는 지점의 좌표 x와 y가 주어진다. (1 ≤ x ≤ 1,000,000. 0 ≤ y ≤ 500,000) 첫 www.acmicpc.net 스카이라인은 태양이 질 때에 보이는 건물들의 윤곽이라고 한다. 이때 건물의 최소 개수를 구하는 문제다. 힌트를 보면 이해하기가 쉬워진다. 스카이라인의 고도가 높아졌다가 낮아질때 그 건물의 개수가 특정된다. 고도를 처음부터 보면 1 2 2 2 1 3 3 1 이다. 2 2 2에서 1로 낮아졌을 때 2 2 2는 한 건물로 특정지을 수 ..
1. 문제분석 https://www.acmicpc.net/problem/17089 17089번: 세 친구 첫째 줄에 사람의 수 N(3 ≤ N ≤ 4,000), 친구 관계의 수 M(0 ≤ M ≤ 4,000)이 주어진다. 둘째 줄부터 M개의 줄에는 친구 관계를 의미하는 두 정수 A, B가 주어진다. 친구 관계는 A와 B, 그리고 B와 A가 친 www.acmicpc.net 1부터 N까지의 사람이 주어지고 각 친구관계를 보여준다. 이 사람들 중 3명을 뽑았을 때 각 친구수가 가장 적은 사람수를 구하면 된다. 즉, 1 2 3 4의 친구관계가 주어지면 1 2 3 4 중 3명을 뽑았을 때 그 친구수가 가장 작은 값을 출력하면 된다. 2. 시행착오 먼저 문제가 이해안갔다. 친구관계를 주는데 무슨 또 친구를 뽑으라는건지..
1. 문제 분석 피로도에 따라 던전을 최대 몇개까지 들어갈 수 있는지를 구하는 문제다. 요구피로도와 사용피로도가 있어 현재 피로도가 요구피로도보다 낮다면 던전에 들어가지 못한다. 처음 접근은 던전 배열을 정렬해서 들어가야하나 싶지만 이러면 전혀 답을 구할 수 없다. 값도 작으니 나는 완전탐색을 통해서 문제를 해결했다. 2022.09.21 - [문법/Java] - [Java] 순열 [Java] 순열 1. 개요 지난번에 조합에 이어 순열을 정리해볼려고한다. 알고리즘을 푸는 중 조합 + 순열을 사용해서 푸는 문제가 있었다. 2개 다 까먹어서 한번 더 볼겸 순열을 정리할려고 한다.. 2. 목차 - 순열 moonbari.tistory.com 던전의 개수만큼 크기를 가진 1차원 배열을 생성한다. 그리고 그 배열에 ..
1. 개요 지난번에 조합에 이어 순열을 정리해볼려고한다. 알고리즘을 푸는 중 조합 + 순열을 사용해서 푸는 문제가 있었다. 2개 다 까먹어서 한번 더 볼겸 순열을 정리할려고 한다.. 2. 목차 - 순열이란? - Swap을 활용한 순열 - Visited배열을 활용한 순열 순열은 어렵지 않으니 간단하게 보고 2가지 방법으로 구현해보자. 3. 본문 1. 순열이란? 순열(Permutation)은 고등학교 때 한번 슬쩍 배웠을 것이다. 간단한 예제를 보자 숫자 1,2,3,4를 중복을 허용하지 않고 2개를 뽑는 방법은? 1 2, 1 3, 1 4 | 2 1, 2 3, 2 4 | 3 1, 3 2, 3 4 | 4 1, 4 2, 4 3 -> 총 12개가 된다. 가볍게 생각해보면 4개중 순서 상관없이 2개, 4P2 -> 4..
1. 문제분석 사실 이전에 퇴사2 문제를 먼저 풀고 풀어서 그런지 쉽게 풀었다. 퇴사 2에서는 구글링을 해도 이해가 안갔지만 하루동안 찾아보니 스스로 해결책을 알아버렸다. 일단 이 문제는 dp로 풀 수 있다. 만약 i일 때 일을 했다면 그 때 dp테이블의 값을 구하면 되는 것이니까. 노션에 이미 정리한 글이므로 복사해왔다. 그럼 하나씩 하기전에 2가지 조건을 세워서 해보자. 돈은 다음날 받는다. 예를 들어 1일날 일했으면 3일동안은 상담을 해야합니다. 그렇다면 1, 2, 3일은 다른 상담을 못하고 1일만의 상담을 해야합니다. 돈은 상담을 마치고 다음날에 들어오는 것으로 기준을 잡았습니다.(1일 → 4일) 내가 n일에 일했을 때, 나오는 값(점화식) 내가 1일에 일했다 → 4일부터 일 가능 → 4일까지의 ..