오늘 공부한 내용 정리(2024년 5월 13일)
1. 코드카타 문제풀이
A. 가장 가까운 같은 글자
문제 내용
문제 풀이 방법
- s의 index에 해당하는 char 데이터를 기준으로 앞쪽의 char 데이터들 중 자신과 같은 글자 중 가장 가까운 데이터를 return.
- 없는 경우에는 -1을 return.
해결 코드(스포 주의)
더보기
// for문으로 돌면서 char와 가장 가까운 같은 글자와의 거리를 구해야 함.
fun solution(s: String): IntArray {
val answer = mutableListOf<Int>()
s.forEachIndexed { index, char ->
val compare = s.substring(0, index)
val resultIndex = compare.indexOfLast { it == char }
if (resultIndex != -1) {
answer.add(index - resultIndex)
} else answer.add(resultIndex)
}
return answer.toIntArray()
}
풀이 과정
- char 보다 앞쪽의 string 데이터를 불러오기 위한 compare 변수 생성
"banana"에서 첫 번째 n을 기준으로 compare = "ba" - compare에서 char와 값이 같은 마지막 index를 불러온다.
"banana"에서 char값이 두 번째 a인 경우 resultIndex = 1 - resultIndex가 -1이 아닌 경우에는(char와 같은 데이터가 존재함) 현재 index에서 resultIndex를 빼준다(같은 글자 간의 거리를 구하기 위함).
두 번째 a의 index가 3이고 resultIndex가 1일 때, 가장 가까운 같은 글자의 거리는 2가 된다.
2. 스파르타 코딩 클럽 강의 수강
A. 로또 번호 생성 앱 만들기(기능 구현, 2 - 2)
강의 내용 간단 정리
- button에 리스너를 달아서 각각 버튼에 맞는 기능을 생성해 주었다.
- 번호 추가할 때 추가되면 안 되는 상황들을 모두 체크해서 상황에 맞는 Toast 메시지를 띄워 주었다.
- 고급 문법을 이용해 로또 번호를 랜덤으로 생성하는 알고리즘을 만들어 적용함.
3. 개인 공부
A. Planner 오류 테스트
공부 내용 간단 정리
- planner에서 새 계정을 만들어서 오류 테스트 중.
- 주간 일정이 정상적으로 나오지 않는 오류를 발견 후 수정.
- category가 없을 때, 일정 정보가 불러와지지 않는 오류를 수정.
- scroll button을 클릭했을 때, 앱이 팅기는 문제 수정
간단 정리
- planner 오류 테스트 후 지인에게 2차 테스트를 맡겨 놓았다.
- 강의 2주 차까지 완강.
728x90
'♞ | 공부일지 > ♝ | TIL' 카테고리의 다른 글
[Android, 내일배움캠프] 공부일지(2024-05-15) (0) | 2024.05.15 |
---|---|
[Android, 내일배움캠프] 공부일지(2024-05-14) (0) | 2024.05.14 |
[Android, 내일배움캠프] 공부일지(2024-05-12) (0) | 2024.05.12 |
[Android, 내일배움캠프] 공부일지(2024-05-11) (0) | 2024.05.11 |
[Android, 내일배움캠프] 공부일지(2024-05-10) (0) | 2024.05.10 |