일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- power menu 라이브러리
- Hilt 에러
- Android Custom View
- 백준
- 안드로이드 무한 스크롤
- 백준 2615
- 안드로이드 커스텀 뷰
- 힐트
- 코틀린 에러 핸들링
- hilt
- Sticky Header RecyclerView
- 안드로이드 컴포즈
- AAC ViewModel
- BOJ
- power menu
- Thread vs Coroutine
- 코루틴 공식문서
- 코루틴 공식 문서
- 스레드 vs 코루틴
- Android Compose
- android compose orbit
- Kotlin Serialization
- RecyclerView Sticky Header
- runCatching
- Android Compose Navigation
- android orbit
- Coroutine
- viewmodel
- Unsupported metadata version. Check that your Kotlin version is >= 1.0: java.lang.IllegalStateException
- 코루틴
- Today
- Total
목록BOJ (7)
Beeeam

문제 1026번: 보물 첫째 줄에 N이 주어진다. 둘째 줄에는 A에 있는 N개의 수가 순서대로 주어지고, 셋째 줄에는 B에 있는 수가 순서대로 주어진다. N은 50보다 작거나 같은 자연수이고, A와 B의 각 원소는 100보다 작거 www.acmicpc.net 풀이 문제에서 원하는 답은 S = A[0] × B[0] + ... + A[N-1] × B[N-1] 에서 S가 최소가 되는 값이다. 이때 A의 수를 재배열 하고, B는 재배열하지 않는 것이 조건이다. 작은 값과 큰 값을 곱해야지 수가 최소가 된다. 따라서 A의 수에서 작은 수와 B의 수에서 큰 값을 곱하는 형식으로 풀어야 한다. 근데 B를 재배열 하지 말라고 했는데 본인은 재배열 하여 풀었다.(이렇게 해도 정답처리 됨) 그래서 A와 B를 오름차순 정렬..

문제 2615번: 오목 오목은 바둑판에 검은 바둑알과 흰 바둑알을 교대로 놓아서 겨루는 게임이다. 바둑판에는 19개의 가로줄과 19개의 세로줄이 그려져 있는데 가로줄은 위에서부터 아래로 1번, 2번, ... ,19번의 번호 www.acmicpc.net 풀이 바둑판에 흑백 돌들이 놓여있고 이를 보고 오목 경기의 승패를 확인하는 문제이다. 한 색의 바둑돌이 같은 방향으로 연속 5개가 이어지면 오목이 된다. 그래서 오목판에 돌이 있으면 그 돌을 타켓으로 삼고 탐색을 시작한다. 탐색의 방향은 총 4 방향으로 우, 하, 우상, 우하 방향으로 탐색을 진행한다. (문제에서 오목이 시작되는 가장 왼쪽에 있는 바둑알(연속된 다섯 개의 바둑알이 세로로 놓인 경우, 그 중 가장 위에 있는 것)을 출력하라고 했기 때문에 왼쪽..

문제 1094번: 막대기 지민이는 길이가 64cm인 막대를 가지고 있다. 어느 날, 그는 길이가 Xcm인 막대가 가지고 싶어졌다. 지민이는 원래 가지고 있던 막대를 더 작은 막대로 자른다음에, 풀로 붙여서 길이가 Xcm인 막대 www.acmicpc.net 풀이 지민이가 가지고 있는 막대의 길이를 모두 더한다. 처음에는 64cm 막대 하나만 가지고 있다. 이때, 합이 X보다 크다면, 아래와 같은 과정을 반복한다. 가지고 있는 막대 중 길이가 가장 짧은 것을 절반으로 자른다. 만약, 위에서 자른 막대의 절반 중 하나를 버리고 남아있는 막대의 길이의 합이 X보다 크거나 같다면, 위에서 자른 막대의 절반 중 하나를 버린다. 이제, 남아있는 모든 막대를 풀로 붙여서 Xcm를 만든다. 위와 같은 과정을 거치면 몇 ..

문제 2108번: 통계학 첫째 줄에 수의 개수 N(1 ≤ N ≤ 500,000)이 주어진다. 단, N은 홀수이다. 그 다음 N개의 줄에는 정수들이 주어진다. 입력되는 정수의 절댓값은 4,000을 넘지 않는다. www.acmicpc.net 풀이 숫자들을 입력 받아서 이의 산술 평균, 중앙갑스 최빈값, 범위를 구하는 문제이다. 산술 평균, 중앙값, 범위는 간단한 연산으로 출력을 하였다. 최빈값은 숫자들 중 가장 많이 나타나는 값을 찾는데 여러 개가 있는 경우에는 최빈값 중 두 번째로 작은 값을 출력한다. 키가 숫자이고, 값이 빈도인 딕셔너리를 만들고, 빈도 값중 최대 값을 찾는다. 그리고 방금 찾은 최대 값을 딕셔너리의 값(빈도)들과 비교를 해서 같으면 다른 리스트에 추가를 했다. 마지막으로 리스트의 길이가..

문제 3085번: 사탕 게임 예제 3의 경우 4번 행의 Y와 C를 바꾸면 사탕 네 개를 먹을 수 있다. www.acmicpc.net 풀이 인접한 사탕의 색이 다른 경우 서로 위치를 바꿀 수 있고, 모두 같은 색으로 이루어져 있는 가장 긴 연속 부분(행 또는 열)의 사탕을 모두 먹을 수 있는데 먹을 수 있는 사탕의 최대 개수를 구하는 문제이다. 그래프를 for문으로 돌면서 인접한 사탕과 색이 다른 경우 위치를 바꾼다. 그 다음 check() 함수를 실행한다. check() 함수에서도 그래프를 for문으로 돌면서 인접한 사탕과 색을 비교한다. 색이 같으면 먹을 수 있는 사탕의 최대 개수에 1을 더한다. check() 함수가 끝나면 위치를 바꿨던 사탕의 위치를 원래대로 돌려놓는다. 그래프를 다 탐색을 하면 먹..

문제 16173번: 점프왕 쩰리 (Small) 쩰리는 맨 왼쪽 위의 칸에서 출발해 (행, 열)로 나타낸 좌표계로, (1, 1) -> (2, 1) -> (3, 1) -> (3, 3)으로 이동해 게임에서 승리할 수 있다. www.acmicpc.net 풀이 쩰리는 아래, 오른쪽 방향으로만 이동이 가능하다. 그래서 dx, dy 리스트에 아래, 오른쪽 방향으로만 갈 수 있게 했다. 그리고 bfs함수 안에 들어가서 for문을 돌면서 아래, 오른쪽 방향의 값을 확인하고 이동 가능하면 이동하여 해당 위치에서 bfs함수를 실행한다. 그리고 도착지에 도착하면 "HaruHaru" 를 출력하고 프로그램을 종료하게 하였다. 그럼 도착지에 도착하지 못하면 bfs 함수를 벗어나게 되는데 이 때 "Hing"을 출력하게 해서 풀었다...

문제 2667번: 단지번호붙이기 과 같이 정사각형 모양의 지도가 있다. 1은 집이 있는 곳을, 0은 집이 없는 곳을 나타낸다. 철수는 이 지도를 가지고 연결된 집의 모임인 단지를 정의하고, 단지에 번호를 붙이려 한다. 여 www.acmicpc.net 풀이 지도의 크기와 정사각형 모양의 지도를 입력으로 받아서 이를 통해서 아파트 단지의 개수와 단지 내의 아파트의 수를 찾는 문제이다. 지도를 입력 받아서 이를 2차원 리스트에 저장한다. 그리고 이 리스트를 2중 for문을 돌려서 아파트가 있는 지점을 찾는다. 이때 찾아낸 지점에서 dfs를 돌린다. 여기에서 dfs를 실행하면 이 좌표를 기준으로 상하좌우의 값을 확인하여 아파트가 위치하고 있는지 확인한다. 만약 아파트가 위치하고 있으면 해당 위치의 값을 1이 아..