오늘 공부한 내용 정리(2024년 5월 10일)
1. 코드카타 문제풀이
A. 문자열 내 마음대로 정렬하기
문제 내용
문제 풀이 방법
- strings에서 각 string의 n번째 index를 기준으로 정렬한 결과를 return 한다.
- n번째 index가 같은 경우에는 string의 사전 순서대로 정렬한다.(사전순으로 a, b, c, d....)
해결 코드(스포 주의)
더보기
// strings의 n번째 index를 기준으로 오름차순으로 정렬하기.
fun solution(strings: Array<String>, n: Int): Array<String> {
// 우선 전체 문자열을 기준으로 정렬하기(n번째 index가 같은 경우를 해결하기 위함).
val stringsSort = strings.sorted()
// 정렬된 list를 n번째 index를 기준으로 정렬하기.
val answer = stringsSort.sortedBy { it[n] }
println(answer)
return answer.toTypedArray()
}
풀이 과정
- strings의 n번째 index가 중복되는 경우를 대비해서 미리 전체 정렬을 한 번 한다.
미리 전체 정렬을 해주면 ["abce", "abcd", "cdx"] 리스트가 ["abcd", "abce", "cdx"]로 사전순으로 미리 정렬이 돼서 index에 해당하는 값이 같을 경우 사전순으로 정렬하는 경우를 미리 차단할 수 있음. - 전체 정렬을 한 번 한 strings에서 각 string의 n번째 index를 기준으로 다시 정렬을 해준다.
sortedBy의 람다식을 이용해 안에 조건을 넣을 수 있다.
val answer = stringsSort.sortedBy { it[n] }
- return 타입이 Array이기 때문에 toTypedArray()로 answer의 item 타입의 array로 변환한다.
2. 스파르타 코딩 클럽 강의 수강
A. 로또 번호 생성 앱 만들기(UI 구현, 2 - 1)
강의 내용 간단 정리
- 로또 번호 생성 앱의 UI 구현
- constraintLayout, linearLayout을 이용한 UI 구성, 커스텀 drawable xml 생성해 사용하는 방법을 공부함.
3. 개인 공부
A. planner 개발
공부 내용 간단 정리
- 일정 카드 안에서 수정할 수 있도록 하는 기능 개발
- planner 기능 구현 마무리 완료(추후에 카테고리 기능 구현 관련 블로그 작성)
간단 정리
- 프로그래머스에서 리스트 정렬에 대해 공부해 볼 수 있었음.
- 스파르타 코딩클럽 강의에서 BMI 생성기 때와는 다른 복잡한 UI를 만들어볼 수 있었다.
- planner 앱 구현을 마무리해서 오류 테스트 후 출시할 예정이다.
728x90
'♞ | 공부일지 > ♝ | TIL' 카테고리의 다른 글
[Android, 내일배움캠프] 공부일지(2024-05-13) (0) | 2024.05.13 |
---|---|
[Android, 내일배움캠프] 공부일지(2024-05-12) (0) | 2024.05.12 |
[Android, 내일배움캠프] 공부일지(2024-05-11) (0) | 2024.05.11 |
[Android, 내일배움캠프] 공부일지(2024-05-09) (0) | 2024.05.09 |
[Android, 내일배움캠프] 공부일지(2024-05-08) (0) | 2024.05.08 |