본문 바로가기

♞ | 공부일지/♝ | TIL90

[Android, 내일배움캠프] 공부일지(2024-05-30) 오늘 공부한 내용 정리(2024년 5월 30일)  1. 코드카타 문제풀이A. 둘만의 암호문제 내용 문제 풀이 방법s의 각 문자들을 index만큼 뒤로 옮기기(a -> b -> c...)옮기는 문자들 중에 skip에 문자가 포함되어 있으면 그 문자를 제외(건너뜀)문자가 z를 넘어가면 a로 다시 돌아가서 옮기기 시작. 해결 코드(스포 주의)더보기// s의 각 문자를 index만큼 뒤로 옮기기// 옮기는 문자가 skip에 포함되어 있는 경우, 제외하고 넘어가기// 문자가 z를 넘어가면 a로 돌아가서 다시 시작.fun solution(s: String, skip: String, index: Int): String { var answer: String = "" var move = 0 val rol.. 2024. 5. 30.
[Android, 내일배움캠프] 공부일지(2024-05-29) 오늘 공부한 내용 정리(2024년 5월 29일)  1. 코드카타 문제풀이A. 체육복문제 내용 문제 풀이 방법학생 n명 중 체육복을 잃어버린 lost 데이터가 있을 때, 빌려올 수 있는 학생인 reserve를 통해 가장 많이 체육복을 얻을 수 있는 경우를 구하기.제한 사항 중 마지막 제한사항을 유의해서 코드를 작성하기. 해결 코드(스포 주의)더보기// 학생 n명 중 체육복을 잃어버린 lost 데이터가 있을 때, 빌려줄 수 있는 학생인 reverse를 통해 가장 많이 체육복을 입을 수 있는 경우를 구해 return.fun solution(n: Int, lost: IntArray, reserve: IntArray): Int { var answer = 0 // null: 체육복은 가지고 있지만 누구를.. 2024. 5. 29.
[Android, 내일배움캠프] 공부일지(2024-05-28) 오늘 공부한 내용 정리(2024년 5월 28일)  1. 코드카타 문제풀이A. 기사단원의 무기문제 내용 문제 풀이 방법기사 number번까지 기사가 있을 때, number의 약수의 개수만큼의 공격력을 가진 무기를 쓸 수 있다.공격력이 limit를 초과했을 경우, power의 공격력을 가진 무기로 대체된다.공격력이 3일 때, 철의 무게가 3이 필요하다. 이때 기사들에게 모두 무기를 쥐어주려면 철의 무게가 얼마나 필요한지 계산해서 return. 해결 코드(스포 주의)더보기import kotlin.math.sqrtfun solution(number: Int, limit: Int, power: Int): Int { var answer: Int = 0 repeat(number) { num -> .. 2024. 5. 28.
[Android, 내일배움캠프] 공부일지(2024-05-27) 오늘 공부한 내용 정리(2024년 5월 27일)  1. 코드카타 문제풀이A. 모의고사문제 내용 문제 풀이 방법1, 2, 3번 수포자의 정답에서 answers와 비교해 가장 많은 정답을 맞힌 수포자를 구하기.수포자의 정답지는 정답 형식에서 규칙을 찾아서 구성해야 함. 해결 코드(스포 주의)더보기// 학생 1, 2, 3이 있고, answers가 있음.// 학생 1, 2, 3의 정답을 규칙에 맞게 구성한다(answers의 size 만큼).fun solution(answers: IntArray): IntArray { // 각 학생들의 시험 찍는 규칙 val stu1 = intArrayOf(1, 2, 3, 4, 5) val stu2 = intArrayOf(2, 1, 2, 3, 2, 4, 2, 5).. 2024. 5. 27.
[Android, 내일배움캠프] 공부일지(2024-05-18) 오늘 공부한 내용 정리(2024년 5월 18일)  1. 코드카타 문제풀이A. 직사각형 별 찍기문제 내용 문제 풀이 방법n x m의 별을 찍어서 출력한다. 해결 코드(스포 주의)더보기fun main(args: Array) { val (a, b) = readLine()!!.split(' ').map(String::toInt) repeat(b) { repeat(a) { print("*") } println() }} 풀이 과정세로 길이(b)를 바깥 repeat()으로, 가로길이를 내부 repeat()으로 구성함.가로 별 찍기가 끝날 때마다 줄 바꿈을 해주어야 하기 때문이다. B. x만큼 간격이 있는 n개의 숫자 문제 내용 문제 풀이 방법x.. 2024. 5. 18.
[Android, 내일배움캠프] 공부일지(2024-05-17) 오늘 공부한 내용 정리(2024년 5월 17일)  1. 코드카타 문제풀이A. 2016년문제 내용 문제 풀이 방법a가 월이고 b가 일일 때, 2016년 해당 날짜가 무슨 요일인지 출력출력 형식은 각 날짜의 앞에서 3 단어(SATURDAY -> SAT) 해결 코드(스포 주의)더보기fun solution(a: Int, b: Int): String { val date = LocalDate.of(2016, a, b) return date.dayOfWeek.name.substring(0, 3)} 풀이 과정날짜 데이터에 LocalDate()를 이용해 정확한 날짜 정보를 생성해 줌.LocalDate().dayOfWeek.name을 하게 되면 해당 날짜에 요일을 알 수 있는데, 풀네임으로 나오기 때문에 sub.. 2024. 5. 17.
[Android, 내일배움캠프] 공부일지(2024-05-16) 오늘 공부한 내용 정리(2024년 5월 16일)  1. 코드카타 문제풀이A. 나머지가 1이 되는 수 찾기문제 내용 문제 풀이 방법n번 반복해서 n을 x로 나눈 나머지가 1인 가장 작은 수를 구한다. 해결 코드(스포 주의)더보기fun solution(n: Int): Int { var answer: Int = 0 for (i in 1..n) { if (n % i == 1) { answer = i break } } return answer} 풀이 과정1부터 n까지 반복하도록 for문 설정1부터 돌면서 첫 번째로 n % i의 결과가 1인 수를 찾아서 break후 해당 값 return. B. 내적문제 내용 문제 풀이 방법내적은 .. 2024. 5. 16.
[Android, 내일배움캠프] 공부일지(2024-05-15) 오늘 공부한 내용 정리(2024년 5월 15일)  1. 코드카타 문제풀이A. 콜라 문제문제 내용  문제 풀이 방법빈 병 a개를 가져다주면 콜라 b병을 받을 수 있다.빈 병 n개가 주어졌을 때, 받을 수 있는 콜라의 개수를 구한다.20병이 주어지고 빈 병 2개에 콜라 1병일 때, 콜라 10병을 받고 다 마시면 빈 병 10개가 된다.이 방법으로 계속 반복해서 총 받은 콜라의 개수를 구하는 문제이다. 해결 코드(스포 주의)더보기// 빈 병 a개를 가져다주면 콜라 b개를 준다.// 빈 병 n개를 주었을 때, 받을 수 있는 콜라의 개수.// 반복fun solution(a: Int, b: Int, n: Int): Int { var answer: Int = 0 var emptyBottle = n wh.. 2024. 5. 15.
[Android, 내일배움캠프] 공부일지(2024-05-14) 오늘 공부한 내용 정리(2024년 5월 14일)  1. 코드카타 문제풀이A. 푸드 파이트 대회문제 내용 문제 풀이 방법2명이 동일한 양의 음식을 먹어야 함(food에 7이 있을 때, 2명이 3개씩 먹을 수 있음).먹어야 하는 횟수만큼 string으로 합쳐서 return(한 명은 순차적으로 먹고 다른 한 명은 역순으로 먹어야 하기 때문).return: 순차적인 음식 배치 + 0 + 역순 음식 배치 해결 코드(스포 주의)더보기// 2명이 동일한 양의 음식을 먹어야 함(7이면 2명이 3개씩 먹고 1개는 버려짐).// 먹어야 하는 횟수만큼 string으로 return하면 됨.fun solution(food: IntArray): String { var setFood = "" food.forEachInd.. 2024. 5. 14.
[Android, 내일배움캠프] 공부일지(2024-05-13) 오늘 공부한 내용 정리(2024년 5월 13일)  1. 코드카타 문제풀이A. 가장 가까운 같은 글자문제 내용 문제 풀이 방법s의 index에 해당하는 char 데이터를 기준으로 앞쪽의 char 데이터들 중 자신과 같은 글자 중 가장 가까운 데이터를 return.없는 경우에는 -1을 return. 해결 코드(스포 주의)더보기// for문으로 돌면서 char와 가장 가까운 같은 글자와의 거리를 구해야 함.fun solution(s: String): IntArray { val answer = mutableListOf() s.forEachIndexed { index, char -> val compare = s.substring(0, index) val resultIndex =.. 2024. 5. 13.
[Android, 내일배움캠프] 공부일지(2024-05-12) 오늘 공부한 내용 정리(2024년 5월 12일)  1. 코드카타 문제풀이A. 두 개 뽑아서 더하기문제 내용 문제 풀이 방법numbers의 각각의 데이터 간의 합에 대한 모든 경우의 수를 리스트에 넣어서 오름차순으로 정렬 후 return 한다. 해결 코드(스포 주의)더보기// 2중 for문으로 모든 경우의 수를 계산해서 mutableList에 넣고 distinct() 하기.fun solution(numbers: IntArray): IntArray { val plusList = mutableListOf() // 바깥 for문은 기준 number와 index를 불러옴 // 안쪽 for문은 바깥의 index와 같지 않은 것들만 불러와서 더해주고 list에 넣어줌. numbers.forEac.. 2024. 5. 12.
[Android, 내일배움캠프] 공부일지(2024-05-11) 오늘 공부한 내용 정리(2024년 5월 11일)  1. 코드카타 문제풀이A. 행렬의 덧셈문제 내용 문제 풀이 방법arr1, arr2가 2차원 배열이고 각 배열의 index에 해당하는 item들의 합을 answer(2차원 배열)에 add 하기.arr1과 arr2의 행과 열이 같기 때문에 1번의 이중 for문을 이용해 합을 계산한다. 해결 코드(스포 주의)더보기fun solution(arr1: Array, arr2: Array): Array { val answer = mutableListOf() arr1.forEachIndexed { rowIndex, _ -> val addArr = mutableListOf() arr1[rowIndex].forEachIndexed { co.. 2024. 5. 11.
[Android, 내일배움캠프] 공부일지(2024-05-10) 오늘 공부한 내용 정리(2024년 5월 10일)  1. 코드카타 문제풀이A. 문자열 내 마음대로 정렬하기문제 내용 문제 풀이 방법strings에서 각 string의 n번째 index를 기준으로 정렬한 결과를 return 한다.n번째 index가 같은 경우에는 string의 사전 순서대로 정렬한다.(사전순으로 a, b, c, d....) 해결 코드(스포 주의)더보기// strings의 n번째 index를 기준으로 오름차순으로 정렬하기.fun solution(strings: Array, n: Int): Array { // 우선 전체 문자열을 기준으로 정렬하기(n번째 index가 같은 경우를 해결하기 위함). val stringsSort = strings.sorted() // 정렬된 list를.. 2024. 5. 10.
[Android, 내일배움캠프] 공부일지(2024-05-09) 오늘 공부한 내용 정리(2024년 5월 9일)  1. 코드카타 문제풀이A. 이상한 문자 만들기문제 내용 문제 풀이 방법s를 공백을 기준으로 나눈다나눠진 s 데이터 각각의 짝수번째 index에 해당하는 문자는 대문자로, 홀수번째 index에 해당하면 소문자로 변경해 return 한다. 해결 코드(스포 주의)더보기fun solution(s: String): String { var answer = "" val splitList = s.split(" ") splitList.forEachIndexed { i, string -> string.forEachIndexed { index, char -> // 입력받을 때 소문자만 오는 게 아닌 대문자도 섞여서 올 수 있기 .. 2024. 5. 9.
[Android, 내일배움캠프] 공부일지(2024-05-08) 오늘 공부한 내용 정리(2024년 5월 8일)  1. 코드카타(프로그래머스) 문제 풀이.A. 시저 암호문제 내용 문제 풀이 방법s라는 문자열을 받아오면 각 문자들을 for문으로 받아와 n만큼 더한 값을 반환하기.공백의 경우에는 answer에 공백을 추가해 주고 continue를 돌려서 넘김.해결 코드(스포 주의)더보기fun solution(s: String, n: Int): String { var answer = "" val aInt = 97 val AInt = 65 // A = 65, a = 97 // Z = 90, z = 122 // s를 char로 나눠서 n만큼 이동된 값을 구하기. // char + n이 z값(.. 2024. 5. 8.
728x90