TIL(204)
-
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 -
여러작업을 한번에 수행하자
✔오늘 배운 중요한 🔑 point프로세스=스타크래프트 게임 실행 쓰레드=SCV(일꾼)thread키워드로 scv를 생성해서 여러 scv가 동시에 여러작업을 수행할 수 있도록 하자코루틴은 쓰레드보다 CPU 자원을 절약하고 쓰레드를 더욱 잘개 쪼개서 사용하는 기술이며 구글에서도 코틀린의 코루틴 사용을 적극 권장하고 있을정도로 중요하다. 하지만 쓰레드와 코루틴은 각각의 동시성을 보장하는 방법이 다를 뿐이지 코루틴이 쓰레드를 대체하는 기술이라 생각해서는 안된다🎯 오늘 배운 내용 비동기 프로그래밍순서대로 하나씩 수행하는것이 아닌 여러가지의 로직들이 완료 여부에 관계없이 실행되는 방식 Thread하나의 메인 쓰레드는 fun main() 메인함수를 의미한다. 프로세스 내에 실행되는 작은 작업 단위를 뜻함 imp..
2024.04.26 -
Test Code 작성을 생활화 합시다
✔오늘 배운 중요한 🔑 point소프트웨어의 기능과 동작을 테스트하는 테스트 코드는 유지보수 안정성 측면에서 반드시 필요한 코드작성이며 개발자 간의 협업을 원할하게 하기 때문에 매우 중요하다테스트 코드를 작성할때는 어떠한 상황에서도 실행이 가능해야한다 , 데이터베이스 연동이라던가 네트워크 이슈가 생기더라도 테스트 코드는 실행이 되도록 작성을 해야하는것이 중요하다.Given-When-Then" 구조를 사용하면 각 테스트 케이스의 시나리오를 명확하게 정의할 수 있고 각 부분이 명확하게 구분되어 있어서 테스트의 목적과 예상 결과를 이해하기 쉽다.Ctrl+Alt+L:코드 정렬Ctrl+Alt+O: 사용하지 않는 import문 제거🎯 오늘 배운 내용Test Code프로그램의 문제를 빨리 발견하고 해결하기 위한 ..
2024.04.25 -
Class에 관하여
✔오늘 배운 중요한 🔑 point객체지향은 기본적으로 다른 객체에 의존하지않고 자율적인 것이다. 각 개체들이 능동적이고 자율적이기 때문에 코드에 대한 이해나 코드의 변경 또한 용이해지기 때문에 객체 지향적으로 설계하는것이 매우 중요하다상속은 부모의 재산을 자식이 물려받듯이 부모 클래스의 기능들을 상속받으면서 확장 시키는 개념이라면 조합은 컴퓨터라는 클래스 안에 키보드 클래스,마우스 클래스, 모니터 클래스의 객체를 포함시켜서 기능을 추가하고 모듈화 된 형태로 만든다는 개념이다 즉 상속 ==DNA 조합 ==합체!abstract키워드는 클래스나 메서드를 완전하지 않은 상태로 남겨둘때 사용하며 , open 키워드는 클래스나 메서드를 다른 클래스에서 상속하거나 확장할 때 사용된다🎯 오늘 배..
2024.04.24