본문 바로가기

내일배움캠프63

[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-05) 오늘 공부한 내용 정리(2024년 6월 5일)  1. 코드카타 문제풀이A. CCW(백준, 11758번)문제 내용 문제 풀이 방법문제 이름에 힌트가 나와있다. ccw 알고리즘을 이용해 문제를 해결한다.ccw 알고리즘은 3개의 점의 방향을 알 수 있는 알고리즘이다. 해결 코드(스포 주의)더보기import java.io.BufferedReaderimport java.io.InputStreamReaderfun main() = with(BufferedReader(InputStreamReader(System.`in`))) { val pointList = mutableListOf>() for (i in 0 until 3) { val point = readLine().split(" ").map .. 2024. 6. 6.
[Android, 내일배움캠프] 공부일지(2024-06-04) 오늘 공부한 내용 정리(2024년 6월 4일)  1. 코드카타 문제풀이A. 잃어버린 괄호(백준, 1541번)문제 내용 문제 풀이 방법수식이 문자로 주어질 때, 수식의 값이 최소가 되는 경우를 출력.string을 - 기호를 기준으로 split을 해 분할한 후, + 기호로 연결된 모든 수를 더해서 리스트에 저장 후 리스트의 값을 첫 번째 리스트 값만 더하고 나머지는 모두 빼서 결과를 도출할 수 있다.초기 수식: 55 - 50 + 40- 기호를 기준으로 분할: 55, 50 + 40+ 기호의 값을 모두 더함: 55, 90결과의 첫 번째 데이터에 나머지 데이터를 모두 뺀 값: -35 해결 코드(스포 주의)더보기import java.io.BufferedReaderimport java.io.InputStreamRea.. 2024. 6. 4.
[Android, 내일배움캠프] 공부일지(2024-06-03) 오늘 공부한 내용 정리(2024년 6월 3일)  1. 코드카타 문제풀이A. Hashing(백준, 15829번)문제 내용 문제 풀이 방법입력받은 문자열을 사용해 해시 값을 출력.해시 값을 구하는 방법은 a가 1이고 z가 26일 때, a의 int 값 * 31의 n제곱 % 1234567891과 같은 형식으로 구할 수 있다. n의 값은 a가 문자열에서 몇 번째 값인지 구해서 대입한다. 해결 코드(스포 주의)더보기import java.util.Scannerimport kotlin.math.powfun main() = with(Scanner(System.`in`)) { nextInt() val string = next() val mod = 1234567891 var result: Long = .. 2024. 6. 3.
[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-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.
[Android, 내일배움캠프] 사전캠프 데일리 미션 (2) 사전캠프 2, 3, 4레벨: 용어 정리하기 IDEIDE(통합 개발 환경): 코딩, 디버그, 컴파일, 배포 등 프로그램의 개발에 필요한 모든 작업을 하나의 프로그램 안에서 처리하는 환경을 제공하는 소프트웨어.디버그: 컴퓨터 프로그램 개발 단계에서 발생하는 시스템의 논리적인 오류나 비정상 연산(버그)을 찾아내고 수정하는 과정컴파일: 주어진 language로 작성된 컴퓨터 프로그램을 다른 언어의 동등한 프로세스로 변환하는 프로세스.컨벤션convention은 관습, 대회, 조약 등의 뜻을 가지는 영단어이다.개발에서의 컨벤션은: 개발팀이 프로그램을 작성하고 유지 보수하는 데 사용하는 일련의 규칙과 가이드라인을 뜻함.자료형프로그래밍 언어에서 변수 또는 값이 가질 수 있는 데이터의 종류.변수와 상수변수는 프로그램에서.. 2024. 5. 8.
[Android, 내일배움캠프] 사전캠프 데일리 미션 (1) 내가 Android 트랙에 참여한 계기는 무엇인가요?Android의 기초부터 심화 과정까지 학습해서 Android 앱 개발자로 취업하기 위해서이다.내가 이해한 Android 개발자/앱개발자는 어떤 역할을 하는 사람인가요?Android 어플리케이션을 개발하고 유지보수하는 일을 하는 사람.개발을 경험해보셨나요? 해보셨다면 어떤 경험을 하셨는지 작성해주시고, 아니라면 앱개발에 대해 찾아본 것을 작성해주세요.고등학교 친구들과 협업해서 앱을 만들고 출시한 경험이 있음.Android 개발자의 역할을 수행하는 데에 있어 나의 강점과 연관된 부분은 무엇이라고 생각하나요? 혹은 보완, 개선하고 싶은 개인 역량이 있나요 ?과거 혹은 현재의 업무와 연관 지어도 좋습니다. ‘능력’을 기준으로 고민해주세요.강점: 한 번 일을 .. 2024. 5. 7.
728x90
반응형