본문 바로가기

♞ | 공부일지34

[Android, 내일배움캠프] 공부일지(2024-06-25) 오늘 공부한 내용 정리(2024년 6월 25일)  코드카타 문제풀이트리의 부모 찾기(Silver 2, 11725번)문제 내용 문제 풀이 방법루트가 1인 트리가 있고 트리 상 연결된 노드들의 정점이 주어질 때, 2번 노드부터 각 노드의 부모 노드를 순서대로 출력.  해결 코드(스포 주의)더보기import java.io.BufferedReaderimport java.io.InputStreamReaderimport java.util.LinkedListimport java.util.Queueprivate var graph = arrayOf>()private var visited = booleanArrayOf()private var parentNode = arrayOf()fun main() = with(Buffe.. 2024. 6. 25.
[Android, 내일배움캠프] 공부일지(2024-06-24) 오늘 공부한 내용 정리(2024년 6월 24일)  코드카타 문제풀이단지 번호 붙이기(Silver 1, 2667번)문제 내용 문제 풀이 방법1이 집이 있는 곳, 0이 집이 없는 곳일 때, 아파트 단지의  개수와 각 단지 내 집의 개수를 오름차순으로 정렬해 출력.이 문제에서 아파트 단지의 정의는 1이 2개 이상 연결되어 있지 않고 1이 각각 따로 떨어져 있어도 개별의 단지로 인식한다.  해결 코드(스포 주의)더보기import java.io.BufferedReaderimport java.io.InputStreamReaderprivate val dx = listOf(-1,1,0,0)private val dy = listOf(0,0,-1,1)private var graph = arrayOf>()private va.. 2024. 6. 24.
[Android, 내일배움캠프] 공부일지(2024-06-21) 오늘 공부한 내용 정리(2024년 6월 21일)  코드카타 문제풀이수면 패턴(마라톤 문제, Bronze 1, 19843번)문제 내용 문제 풀이 방법수면 횟수만큼 수면 시작일, 시간과 수면 종료일 시간이 주어졌을 때, 수면 시간을 구해서 모두 더한 값이 주말에 풀로 잘 수 있는 시간(48시간) 보다 크다면 -1을 출력, 충분히 잠을 잔 경우에는 0을, 그 이외의 경우는 주말에 자야 하는 시간을 출력한다.  해결 코드(스포 주의)더보기import java.io.BufferedReaderimport java.io.InputStreamReaderfun main() = with(BufferedReader(InputStreamReader(System.`in`))) { val (sleepHour, case) =.. 2024. 6. 21.
[Android, 내일배움캠프] 공부일지(2024-06-20) 오늘 공부한 내용 정리(2024년 6월 20일)  코드카타 문제풀이진법 변환(Bronze 2, 2745번)문제 내용 문제 풀이 방법B진법 수 N이 주어질 때 N을 10진법으로 변환해서 출력.  해결 코드(스포 주의)더보기import java.io.BufferedReaderimport java.io.InputStreamReaderfun main() = with(BufferedReader(InputStreamReader(System.`in`))) { val (num, decimal) = readLine().split(" ") println(num.toInt(decimal.toInt()))} 풀이 과정num(변경할 수)과 decimal(변환할 진법)을 입력받는다.num을 decimal 진법으로 변환.. 2024. 6. 20.
[Android, 내일배움캠프] 공부일지(2024-06-19) 오늘 공부한 내용 정리(2024년 6월 19일)  코드카타 문제풀이절댓값 힙(Silver 1, 11286번)문제 내용 문제 풀이 방법데이터를 입력받다가 리스트에서 절댓값이 가장 작은 값들 중 원본 값이 가장 작은 값을 리스트에서 제거한다. 리스트가 비어있으면 0을 출력.  해결 코드(스포 주의)더보기import java.io.BufferedReaderimport java.io.InputStreamReaderimport java.util.*import kotlin.math.absfun main() = with(BufferedReader(InputStreamReader(System.`in`))) { val numbers = readLine().toInt() // o1, o2를 절댓값으로 비교 후 .. 2024. 6. 19.
[Android, 내일배움캠프] 공부일지(2024-06-18) 오늘 공부한 내용 정리(2024년 6월 18일)  코드카타 문제풀이프린터 큐(Silver 3, 1966번)문제 내용 문제 풀이 방법문서의 개수인 N과 큐에서 출력할 데이터의 index인 M이 주어지고 중요도가 숫자로 N개가 주어질 때, M에 해당하는 데이터가 몇 번째로 뽑히는지 출력.  출력 순서가 많이 헷갈릴 수 있는 문제이다. 입력 예시가6 01 1 9 1 1 1이면, 0번째 index의 값인 첫 번째 1을 값으로 잡아야 한다. 하지만 1이 첫 번째에 있다고 무턱대고 뽑으면 안 된다. 뒤에 우선순위가 더 높은 9가 있기 때문이다. 9를 먼저 빼고 나면 다음과 같이 된다.1 1 1 [1] 1가장 큰 값이었던 9를 출력했으니 출력을 1번 한 상태이다.이제 위 큐에서 최댓값은 1이기 때문에 1을 계속 제거.. 2024. 6. 18.
[Android, 내일배움캠프] 공부일지(2024-06-17) 오늘 공부한 내용 정리(2024년 6월 17일)  코드카타 문제풀이회의실 배정(Silver 1, 1931번)문제 내용 문제 풀이 방법회의의 개수 n과 n번의 회의 시작 시간과 끝 시간이 순서대로 주어질 때, 위의 시간을 최대한 활용해 사용할 수 있는 회의의 최대 개수를 출력한다.회의의 진행시간이 적은 순으로 정렬하면 편하다. 해결 코드(스포 주의)더보기import java.io.BufferedReaderimport java.io.InputStreamReaderfun main() = with(BufferedReader(InputStreamReader(System.`in`))) { val meetingArray = Array>(readLine().toInt()) { emptyList() } for.. 2024. 6. 17.
[Kotlin] 공부일지(2024-06-15) 오늘 공부한 내용 정리(2024년 6월 15일)  1. 알고리즘 문제풀이A. 2xn 타일링 2(백준, S3, 11727번)문제 내용 문제 풀이 방법2 x n의 직사각형을 타일 1 x 2, 2 x 1, 2 x 2로 빠짐없이 채우는 경우의 수를 구해 출력.  해결 코드(스포 주의)더보기import java.util.Scannerfun main() = with(Scanner(System.`in`)) { val fillArray = Array(nextInt()) { 0 } for (i in fillArray.indices) { if (i == 0) fillArray[0] = 1 else { // 홀수 index임 if (i % 2 != .. 2024. 6. 15.
[Android, 내일배움캠프] 공부일지(2024-06-14) 오늘 공부한 내용 정리(2024년 6월 14일)  1. 코드카타 문제풀이A. 하키(백준, S4, 1358번)문제 내용 문제 풀이 방법그림과 같은 하키장이 있을 때, 하키장 안에 있는 선수는 총 몇 명인지 출력.하키장에 선수가 있는 조건으로는x, y부터 x+w, y+h까지의 좌표 안의 직사각형 영역에 있는 경우,x좌표를 벗어나고, y좌표는 y부터 y+h 사이에 있는 경우, 왼쪽과 오른쪽 원의 중심과 해당 좌표와의 거리를 구해 그 거리가 원의 반지름보다 작거나 같은 경우. 해결 코드(스포 주의)더보기import java.util.Scannerimport kotlin.math.absimport kotlin.math.powimport kotlin.math.sqrtfun main() = with(Scanner(S.. 2024. 6. 14.
[Android, 내일배움캠프] 공부일지(2024-06-13) 오늘 공부한 내용 정리(2024년 6월 13일)  1. 코드카타 문제풀이A. 1로 만들기(백준, S3, 1463번)문제 내용 문제 풀이 방법숫자가 주어질 때, 3가지의 연산을 수행해 1로 만들 수 있는 최솟값을 출력. 해결 코드(스포 주의)더보기import java.util.Scannerimport kotlin.math.minfun main() = with(Scanner(System.`in`)) { val num = nextInt() val cntList = MutableList(num+1) { 0 } // 1을 제외한 num까지 반복. for (i in 2 .. num) { // 일단 이전의 값에서 1을 더하면 해당 값을 만들 수 있는 개수가 나옴. cnt.. 2024. 6. 13.
[Android, 내일배움캠프] 공부일지(2024-06-12) 오늘 공부한 내용 정리(2024년 6월 12일)  1. 코드카타 문제풀이A. 알고리즘 수업 - 피보나치 수 1(백준, B1, 24416번)문제 내용 문제 풀이 방법재귀 호출과 반복문으로 n번째 피보나치 수열을 구할 때, 각 구문이 호출되는 횟수를 출력.사진의 코드의 주석이 쳐져 있는 부분이 몇 번 호출되는지 확인한다. 해결 코드(스포 주의)더보기import java.util.Scannerprivate var resursive = 0 // 재귀 함수 카운트private var loop = 0 // 반복문 카운트fun main() = with(Scanner(System.`in`)) { val number = nextInt() fibonacci(number) // 재귀 호출 .. 2024. 6. 12.
[Android, 내일배움캠프] 공부일지(2024-06-11) 오늘 공부한 내용 정리(2024년 6월 11일)  1. 코드카타 문제풀이A. 행사장 대여(Small)(백준, S5, 14732번)문제 내용 문제 풀이 방법직사각형의 개수(N)와 직사각형의 시작점과 끝점이 주어질 때, 직사각형의 넓이를 출력.가장 큰 직사각형의 넓이를 구하는 문제가 아닌, 모든 직사각형의 합집합 넓이를 구하는 것이다.위와 같은 경우로 주어질 경우, 큰 직사각형  옆에 튀어나와 있는 점 E, H의 넓이도 같이 계산해야 한다는 뜻이다.넓이는 24 + 2 = 28이다. 해결 코드(스포 주의)더보기import java.util.Scannerfun main() = with(Scanner(System.`in`)) { val squareCnt = nextInt() val coordinate .. 2024. 6. 11.
[Android, 내일배움캠프] 공부일지(2024-06-10) 오늘 공부한 내용 정리(2024년 6월 10일)  1. 코드카타 문제풀이A. 균형 잡힌 세상(백준, S4, 4949번)문제 내용 문제 풀이 방법균형 잡힌 문자열이면 yes, 아니면 no 출력.균형 잡힌 문자열이 되기 위해서는소괄호는 소괄호끼리, 대괄호는 대괄호끼리 짝을 이룬다.모든 오른쪽 괄호는 짝을 이루는 왼쪽 괄호가 있어야 한다.괄호는 1:1 매칭만 가능하다.Help( I[m being held prisoner in a fortune cookie factory)]. 다음과 같은 문자열이 주어지면 이 문자열은 균형 잡힌 문자열이 아니다.괄호 순서가 (, [, ), ]이기 때문에 매칭될 수 없다. 해결 코드(스포 주의)더보기import java.io.BufferedReaderimport java.io.I.. 2024. 6. 10.
[Android, 내일배움캠프] 공부일지(2024-06-07) 오늘 공부한 내용 정리(2024년 6월 7일)  1. 코드카타 문제풀이A. 트럭(백준, S1, 13335번)문제 내용 문제 풀이 방법다리의 길이, 다리의 최대하중이 주어지고 트럭의 무게를 나타낸 숫자들이 입력으로 주어질 때, 모든 트럭들이 다리를 건너는 최단시간을 출력.다리의 길이는 단위길이라고 적혀 있는데, 그냥 다리의 길이가 w라는 뜻이므로 단위길이 때문에 헷갈리는 일이 없도록 하자.최단시간을 출력하려면 다리의 최대 하중에 가장 가깝게 트럭들을 여러 대 보내야 한다(하중이 10이라면 무게가 4인트럭 1대를 보내는 것보다 무게가 4, 5인 트럭 각각 1대씩 보내는 것이 시간 절약에 도움이 된다).트럭 1대가 다리를 모두 건너는 시간은 w초가 걸린다(다리의 길이만큼).트럭은 다리로 진입하는 데 1초, 다.. 2024. 6. 7.
[Android] 공부일지(2024-06-06) 오늘 공부한 내용 정리(2024년 6월 6일)  1. 알고리즘 문제풀이A. 듣보잡(백준, S4, 1764번)문제 내용 문제 풀이 방법첫째 줄에 듣도 못한 사람의 수가 주어지고, 보도 못한 사람의 수가 주어질 때, 둘째 줄부터 듣도 못함 사람 이름부터 보도 못한 사람 이름 순서대로 입력된다.(듣도 못한 사람이 3이고, 보도 못한 사람이 4일 때 2번째 줄부터 7줄에 걸쳐서 입력이 주어짐)입력받은 사람들 중 듣보잡의 수를 출력(듣도 못한 사람과 보도 못한 사람에 모두 포함되는 사람) 해결 코드(스포 주의)더보기import java.io.BufferedReaderimport java.io.BufferedWriterimport java.io.InputStreamReaderimport java.io.OutputS.. 2024. 6. 7.
728x90