본문 바로가기

Occhiolism96

[TIL • 20231202] #12 (안드로이드 2기 본캠프) 📖 Today I Learned 🔮 학습 및 노트 정리 알고리즘: 주말이라 1단계 맨 앞에 있는 문제를 다시 풀어보았다. 전에 풀었던 코드보다 발전된 부분을 찾을 수 있어서 뿌듯했다. 공부하는김에 리스트를 문자열로 바꾸는 문법 공부를 추가적으로 해주었다. 한번 문법 공부를 할 때 대충 이해하고 넘어가지 않고 정확하게 경우를 따져서 사용 방법 및 규칙을 습득해 놓아야 나중에 응용할 때 훨씬 도움이 되는거 같다. 이렇게 안 하면 다른 문제 풀 때에 전에 뭔가 어떤 함수를 사용했던거 같은데 어떻게 사용하는지 기억이 안나서 결국 못풀게 되는 것 같다. (https://occhiolism.tistory.com/40) 아! 그리고 다른 사람들 풀이 보면서 zip()이랑 fold()함수를 봤는데 스윽 봤을 때는 이해.. 2023. 12. 2.
[Hotel Reservation] 호텔 예약 프로그램 lv2.0 lv2 1. 메뉴에서 2번을 눌러 호텔 예약자 목록을 보여줘요. (예시. 1. 사용자: ㅇㅇㅇㅇ, 방 번호: ㅇㅇㅇ호, 체크인: 2023-07-21. 체크아웃: 2023-08-01) 메뉴에서 3번을 눌러 호텔 예약자 목록을 정렬 기능을 사용하여 체크인 날짜순으로 오름차순으로 정렬해 봐요 2. 예약 플로우를 수정해 봐요. 해당 체크인 체크아웃 날짜에 선택한 방 번호를 예약 가능한지 불가능한지 판단하게 변경해 봐요. 3. 예약이 불가능하면 체크인, 체크아웃 날짜를 변경해서 다시 검사해 보는 플로우를 만들어봐요. 수정된 부분 메인 메뉴에서 4번을 누르면 코드가 종료되도록 바꾸어주었다 메인 메뉴 선택 부분의 코드를 if 문에서 when 문으로 바꾸어주었다. 가독성이 높아짐. 호텔 예약 부분에서 입력 받은 고객 .. 2023. 12. 2.
[kotlin] joinToString(prefix, suffix, separator) 리스트를 문자열로 바꾸기 1. List를 문자열로 바꾸기 val numbers = listOf(12, 24, 46, 68, 80) val n1 = numbers.joinToString() // n1: "12, 24, 46, 68, 80" val n2 = numbers.joinToString("") // n2: "1224466880" val watermelon = listOf("수", "박", "수", "박") val w1 = numbers.joinToString() // w1: "수, 박, 수, 박" val w2 = numbers.joinToString("") // w2: "수박수박" 2. 접두사랑 접미사 붙이기 val numbers = listOf(11, 22, 3, 41, 52, 6) val string = numbers.j.. 2023. 12. 2.
[Hotel Reservation] 호텔 예약 프로그램 lv.1.1 수정된 부분 클래스의 주생성자를 정리해주었다! 어차피 클래스 내부에 있는 함수의 매개변수에 값이 들어가기 때문에 장황하게 클래스 주생성자에도 변수들을 표시해 줄 필요가 없었다. try catch문을 이용하여 입력된 값이 정수인지 확인해 줄 수 있는 클래스를 만들었고 모든 readLine()!!.toInt()에 적용시켜 주었다. 코드 분석 각 객체에 단일책임원칙에 따라 한가지 기능을 수행하는 함수를 하나씩 넣었다. 개방 폐쇄 원칙에 따라 작성: - 확장에 열려있다: lv1.0에서 lv1.1으로 수정할 때 ReadLineExceptionInt라는 클래스를 추가하고 원래 있었던 부모 추상 클래스 CheckIfValid에 상속시켰다. ->기존 코드 수정없이 기능 확장을 하였다. - 변경에 닫혀있다: 기능에 변경.. 2023. 12. 2.