전체 글(141)
-
시간 복잡도
✔오늘 배운 중요한 🔑 point시간 복잡도는 알고리즘이 입력 크기에 따라 실행되는 데 필요한 시간의 증가 속도를 설명한다. 보통 알고리즘의 효율성을 나타내는 중요한 지표 중 하나이며 보통 "Big O 표기법"을 사용하여 표현한다. 쉽게 말해 시간복잡도는 알고리즘의 성능이 좋은지 나쁜지 보여주는 것이다.🎯 오늘 배운 내용 시간 복잡도시간 복잡도는 알고리즘이 입력 크기에 따라 실행되는 데 필요한 시간의 증가 속도를 설명하며 알고리즘의 효율성을 나타내는 중요한 지표 중 하나이다 Big-O 표기법Big O 표기법은 알고리즘의 성능을 입력 크기에 대한 상한을 나타낸다. O(1): 입력 크기와 상관없이 항상 일정한 실행 시간을 가짐 EXCELLENTO(log n)은 입력 크기의 로그에 비례하는 실행 시..
2024.05.02 -
git branch
✔오늘 배운 중요한 🔑 pointbranch는 기존의 코드를 복제하여 여러 사람이 독립적으로 작업을 진행하고, 작업이 완료되면 원본 코드에 통합할 수 있다연습단계에서는 하나의 branch를 이용하고 있지만 실무에서는 서로다른 branch를 이용하여 각기 작업을 수행하기도 한다다른 branch를 합칠때는 git merge뿐만 아니라 git rebase도 있는데 git rebase는 히스토리를 깔끔하게 유지하고자 할 때, 특히 작업 브랜치를 기본 브랜치의 최신 상태로 유지하고 싶을 때 선호된다🎯 오늘 배운 내용 branch git branch란?Git 브랜치는 코드를 분리하여 개별적으로 작업하고 변경 내용을 관리하는 도구이다 branch를 왜 사용할까?소프트웨어 개발 프로세스를 효율적으로 관리하기 위..
2024.05.01 -
고차함수와 람다식
✔오늘 알게된 중요한 🔑 point고차함수를 사용하면 코드의 추상화 수준을 높이기 때문에 코드를 이해하기 쉽고 유지보수 하기 쉽게 만들 수 있다.🎯 오늘 연습한 내용고차함수의 정의고차 함수는 다른 함수를 인자로 받거나 함수를 반환하는 함수다.특히 코틀린에서는 람다나 함수 참조를 사용해 함수를 값으로 표현할 수 있다 map컬렉션 내의 각 요소에 대해 주어진 함수를 적용-> 새로운 컬렉션을 생성 fun main() { val numbers=listOf(1,2,3,4,5,6) val multiplyNumbers=numbers.map{it*it} val multiplyNumbers2=numbers.map{it*10+20} println(multiplyNumbers) pri..
2024.04.30 -
Enum class
✔오늘 배운 중요한 🔑 pointEnum class는 상수를 저장하는 역할 뿐만 아니라 코드를 구조화하고 간결하게 만들 수 있기 때문에 리팩토링을 할 때 매우 유용하다when 문을 사용하면서 복잡해진 코드를 각 상수에 대한 동작을 메서드로 정의하여 코드를 더 간결하게 만들 수 있다 🤔 어떻게 활용할까?지난번부터 계속된 calculator 코드를 리팩토링하여 코드의 가독성을 더 높이고 코드를 더 간결하게 하는 것을 목표로 해야겠다.📓 오늘의 한줄Sometimes rethinking and restarting can be helpful in achieving the results we desire- Robert K. Crosson -
2024.04.29 -
(알고리즘) 핸드폰 번호 가리기
신나는 주말!주말에는 간단한 알고리즘 문제를 풀어보자! 🔥알고리즘 문제 문제 설명프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다.전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요.제한 조건phone_number는 길이 4 이상, 20이하인 문자열입니다.입출력 예phone_numberreturn"01033334444""*******4444""027778888""*****8888"내가 작성한 코드 class Solution { fun solution(phone_number: String): String { var ph..
2024.04.28 -
(알고리즘) 나누어 떨어지는 숫자 배열
신나는 주말!주말에는 간단한 알고리즘 문제를 풀어보자! 🔥알고리즘 문제 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요.divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요.제한사항arr은 자연수를 담은 배열입니다.정수 i, j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다.divisor는 자연수입니다.array는 길이 1 이상인 배열입니다.입출력 예arrdivisorreturn[5, 9, 7, 10]5[5, 10][2, 36, 1, 3]1[1, 2, 3, 36][3,2,6]10[-1]입출력 예 설명입출력 예#1arr의 원소 중 5로 나누어 떨어지는 원소는..
2024.04.27