본문 바로가기

전체 글96

[프로그래머스 • 코틀린] 문자열 내 마음대로 정렬하기 #12915 #12915 🎄 Question ? https://school.programmers.co.kr/learn/courses/30/lessons/12915 class Solution { fun solution(strings: Array, n: Int): Array { var answer = arrayOf() return answer } } 🧩 Thought Process for문 돌려서 n번째 인덱스의 알파벳 가져오기 사전순으로 앞선 문자열이 앞쪽에 위치하도록 하는 메소드 만들기 - for문 알파벳의 아스키 코드값을 비교하여 오름차순으로 바꾸기 class Solution { fun solution(strings: Array, n: Int): Array { var answer = arrayOf() return .. 2023. 11. 30.
[Collection Sort - kotlin] sort(), sortBy(), sortWith() 💡기본 규칙 sort(), sortBy(), sortWith() 는 기존 collection을 수정할 수 있는 메소드이다. sorted(), sortedBy(), sortedWith() 는 기존 collection이 변하지 않는다. 앞에 나온 동사가 수동태가 되면 기존 collection이 변하지 않는다고 보면 될듯! 뒤에 reverse(), reversed(), sortByDescending(), sortedByDescending() 도 모두 같은 규칙 적용! 📆 메소드 정의 sort() - 오름차순 정렬 sortByDescending() - 내림차순 정렬 reverse() - 앞뒤 배열 순서 뒤집기 shuffled() - 랜덤 정렬 Kotlin sort 1. 오름차순 val nums = mutable.. 2023. 11. 30.
[TIL • 20231129] #9 (안드로이드 2기 본캠프) 📖 Today I Learned 🔮 학습 및 노트 정리 알고리즘: 못 풀었다 ! 개인과제: main 함수는 1개만 있어야 코드 작동이 가능하다 ! (https://occhiolism.tistory.com/28) 문법 강의: 4주차 영상을 쭉 보고 이해만 했다. 내일이나 모레에 다시 보면서 정리해야된다. 이해하는데 큰 어려움은 없었다. 접근 제한자 public, private 등을 배웠는데 일단은 public이랑 private만 구분해서 사용할 줄 알면 된다고 하셨다. try catch의 예외 처리 방법도 배웠다. 이건 코드를 직접 작성해봐야 기억에 남을 것 같다. 내일 개인 과제할 때 으용해서 넣어보아야겠다. 지연초기화 lateinit과 lazy를 배웠다. 전에 코드카타하면서 공부했었던 내용이라 이해하기.. 2023. 11. 29.
[Calculator] 계산기 만들기 lv.2.0 Lv2 : Lv1에서 만든 Calculator 클래스에 출력 이후 추가 연산을 가능하도록 코드를 추가하고, 연산 진행 후 출력하기 으쌰으쌰하면서 코드를 작성했는데 마지막에 엄청난 실수를 발견하고 말았다.. 1. 초반에 코드를 작성했을 때 0번째 2번째 4번째 등등 짝수번째 인덱스에는 숫자가 들어가고 홀수번째 인덱스에는 연산자가 들어갈 것이라고 가정하고 문제 풀이를 했다. 문제는 숫자의 자릿수가 2개 이상일 수도있다는걸 간과했다.. 하핳 전에 알고리즘 문제를 풀면서 map을 이용해서 숫자랑 문자열을 분리하여 저장하는 코드를 본 적이 있는거 같은데 내일 한번 찾아봐야겠다.. 그래도.. 한자릿수 연산 한정 작동하는 코드이다 .. !! 2. 추가 계산 부분을 메소드로 만들어서 빼보려고 했지만 어딘가 잘못 됐다... 2023. 11. 29.
[프로그래머스 • 코틀린] 숫자 문자열과 영단어 #81301 #81301 🎄 Question ? https://school.programmers.co.kr/learn/courses/30/lessons/81301 class Solution { fun solution(s: String): Int { var answer: Int = 0 return answer } } 🧩 Thought Process 가장 먼저 string에서 string의 일부분(substring을 가져오는 방법을 공부해보았다. 찾아보니 subSequence(startIndex, endIndex) 라는 함수를 사용하여 문자열의 인덱스를 지정하여 substring을 가져오는 방법이 있었다. endIndex는 포함되지 않는다. 이걸 응용해서 문제를 풀어봐야겠다. 가장 먼저 s의 character를 정수형으.. 2023. 11. 29.
[TIL • 20231128] #8 (안드로이드 2기 본캠프) 📖 Today I Learned 🔮 학습 및 노트 정리 알고리즘: 아스키 코드를 응용해서 문제 풀이를 했다. 다른 사람들이 한 풀이에서 StringBuilder() 함수와 iteration을 이용한 람다식 when 문을 사용한 코드를 공부했다. 내가 풀때는 항상 똑같이 for문이랑 if문 만 사용하는데 다양하게 사용하는 시도를 해봐야 할 것 같다. 개인 과제 계산기 lv 1 수행 완료 : https://occhiolism.tistory.com/25 코틀린 문법 강의: 1. 상속: 서로 다른 클래스의 상하 관계를 만들어주는 것. 하위(자식)에 있는 클래스는 상위(부모)가 가지고 있는 함수를 상속(사용)받을 수 있다! 클래스 이름 뒤에 : 부모클래스이름() 을 해줌으로써 자식 클래스를 만들어 줄 수 있다. .. 2023. 11. 28.
[Calculator] 계산기 만들기 lv.1 Lv1 : 더하기, 빼기, 나누기, 곱하기 연산 수행하기 처음으로 람다식을 이용하여 작성해보았다. number1과 number 2라는 숫자가 순서대로 주어지고 operator 즉 연산자를 문자열로 주어졌다고 가정하고 시작하였다. 클래스 안에 함수를 생성하였고 변수로 앞서 가정해 놓았던 자료형을 넣었다. 연산자가 바뀜에 따라 리턴값이 바뀌도록 하였고 나눗셈 때문에 리턴값이 실수형이여야 하기 때문에 마지막에 answer를 실수형으로 바꾸어주었다. package com.example.mycalculator // Level 1 class Calculator { var number1 = 4 var operator = "*" var number2 = 3 fun main(number1: Int, operator: S.. 2023. 11. 28.
[프로그래머스 • 코틀린] 시저 암호 #12926 #12926 🎄 Question ? https://school.programmers.co.kr/learn/courses/30/lessons/12926 class Solution { fun solution(s: String, n: Int): String { var answer = "" return answer } } 🧩 Thought Process 아스키 코드 응용하기 string을 toInt()로 바꾸어주면 아스키코드 값을 받는다. 그 아스키 코드 값에다가 n을 더하고 다시 문자열로 바꾸어준다. toString() 사용 여기에 if문을 추가하여 string을 toInt()로바꾸고 n을 더했을 때 대문자이면: 90보다 크면 초과된 값만큼 65에다가 더해준다. 소문자이면: 122보다 크면 초과된 값만큼 97.. 2023. 11. 28.
[TIL • 20231127] #7 (안드로이드 2기 본캠프) 📖 Today I Learned 🔮 학습 및 노트 정리 알고리즘: 1. forEach 구문 -> iteration 사용! (ForEach 사용한 코드를 많이 읽어봐야겠다. 이해하는데 시간이 쫌 걸림;) 2. first, last 함수(https://blackdroid.tistory.com/26 >정리 넘 잘 돼 있음) 코틀린 문법 강의: 1. 단축키 공부(윈도우 기준): ctrl+Y: 줄 지우기, ctrl+/: 주석 만들기, shift+방향키: 범위 드래그 추가 공부: (https://developer.android.com/studio/intro/keyboard-shortcuts?hl=ko) shift + F10: 실행, shift+ F9: 디버그 코드 작성: ctrl+space: 기본 제안 표시, ct.. 2023. 11. 27.
[프로그래머스 • 코틀린] 최소직사각형 #86491 #86491 🎄 Question ? https://school.programmers.co.kr/learn/courses/30/lessons/86491 class Solution { fun solution(sizes: Array): Int { var answer: Int = 0 return answer } } 🧩 Thought Process 배열 안에 있는 배열을 [큰 값, 작은값] 순서로 재 배열시키기 배열 안에 있는 배열의 (큰 값)의 최댓값과 (작은 값)의 최댓값 구하기 class Solution { fun solution(sizes: Array): Int { var answer: Int = 0 var M = mutableListOf() var m = mutableListOf() for (i in s.. 2023. 11. 27.
[TIL • 20231124] #6 (안드로이드 2기 본캠프) 📖 Today I Learned 🔮 학습 및 노트 정리 알고리즘: viewpager를 사용하여 뷰를 재 사용해줄 수 있다! 1. dependency에 다음 코드 추가 해주기 implementation("androidx.viewpager2:viewpager2:1.0.0") 2. viewpager를 컨트롤할 수 있는 어댑터를 추가해줘야함 class ViewPagerAdapter(fragmentActivity: FragmentActivity) : FragmentStateAdapter(fragmentActivity) { override fun getItemCount(): Int { TODO("Not yet implemented") } override fun createFragment(position: Int):.. 2023. 11. 24.
[TIL • 20231122] #5 (안드로이드 2기 본캠프) 📖 Today I Learned 🔮 학습 및 노트 정리 알고리즘: 푸는데 큰 어려움 없었다. 아스키코드 값을 응용해서 풀 수 있는 문제였다. 깃 공부함 스파르타코딩클럽 강의 한개 봄. 💡 알고리즘 - 코틀린 : 프로그래머스 코드 카타 12929 🏆 Comments 깃 공부가 흥미로웠다. 알고리즘 문제 푸는것도 재미있었다. 2023. 11. 22.
[TIL • 20231121] #4 (안드로이드 2기 본캠프) 📖 Today I Learned 🔮 학습 및 노트 정리 알고리즘: 진수 바꾸는 방법을 패턴을 찾아서 스스로 찾아보려고 시간을 써서 고민했고 진수 바꾸는 알고리즘 공부를 했다. 코딩: MBTI 테스트 만들기 강의를 쭉 시청하였다. 내일은 직접 작성하면서 공부해보아야겠다. 💡 알고리즘 - 코틀린 : 프로그래머스 코드 카타 68935 3진법 뒤집기 🏆 Comments 운전면허 시험을 보고왔다. 집중이 잘 안됐고 잠이왔다. 그래도 강의 들을 때 에러 없이 강사님이 코드 실행하실 때 뿌듯한거 같다. 진수 알고리즘에서 내가 진수를 직접 바꾸려고 했는데 toString으로 바꾸어주면 진수가 자동으로 바뀌기 때문에 그걸 역이용해서 문제를 풀어줄 수 있어서 신기했다. 하루에 하나씩 새로운 알고리즘을 공부하는 거 같다 요즘. 2023. 11. 21.
[TIL • 20231120] #3 (안드로이드 2기 본캠프) 📖 Today I Learned 🔮 학습 및 노트 정리 알고리즘: 유클리드의 호제법을 이용하여 최대공약수와 최소공배수를 찾는 방법을 배웠다. xml: - vertical or horizontal bias: 남는 공간이 있을 때 그 축에서 어느 위치에 놓을지 정할 수 있음. 0.5 이면 정 중앙에 위치 - Linear Layout은 orientation을 정해줘야함. Vertical / Horizontal - gravity = "center"을 이용하여 text 를 뷰 정 중앙에 놓을 수 있다. - visibility = "gone"을 이용하여 초기화면에 보이지 않도록 놓을 수 있다. - background drawable 파일에는 shape을 먼저 정해주고 solid를 이용하여 shape에 어떤 색을 입.. 2023. 11. 20.
[프로그래머스 • 코틀린] [유클린드 호제법]최대공약수와 최소공배수 #12940 #12940 🎄 Question ? https://school.programmers.co.kr/learn/courses/30/lessons/12940 class Solution { fun solution(n: Int, m: Int): IntArray { var answer = intArrayOf() return answer } } 🧩 Thought Process 최대 공약수 variable을 gcd(Greatest Common Divisor의 약자) 로 저장해주고 초기값을 1로 한다. 최대공약수 찾기 가장 먼저 m이나 n 중 큰수를 작은수로 나누어보기 ! 나누어지면 작은 수가 최대공약수이다! 만약 나누어지지 않는다면 작은 수의 값을 1씩 줄여가며 큰수를 나누어준다. 나누어 떨어지는 수가 최대공약수 ! 최.. 2023. 11. 20.