본문 바로가기
♞ | 공부일지/♝ | TIL

[Android, 내일배움캠프] 공부일지(2024-05-12)

by immgga 2024. 5. 12.
오늘 공부한 내용 정리(2024년 5월 12일)

 

 

1. 코드카타 문제풀이

A. 두 개 뽑아서 더하기

문제 내용

 

문제 풀이 방법

  • numbers의 각각의 데이터 간의 합에 대한 모든 경우의 수를 리스트에 넣어서 오름차순으로 정렬 후 return 한다.

 

해결 코드(스포 주의)

더보기
// 2중 for문으로 모든 경우의 수를 계산해서 mutableList에 넣고 distinct() 하기.
fun solution(numbers: IntArray): IntArray {
    val plusList = mutableListOf<Int>()

    // 바깥 for문은 기준 number와 index를 불러옴
    // 안쪽 for문은 바깥의 index와 같지 않은 것들만 불러와서 더해주고 list에 넣어줌.
    numbers.forEachIndexed { outIndex, number ->
        numbers.forEachIndexed { inIndex, plusValue ->
            if (outIndex != inIndex) {
                plusList.add(number + plusValue)
            }
        }
    }

    return plusList.distinct().sorted().toIntArray()
}

 

풀이 과정

  • 모든 경우의 수를 넣을 plusList(mutableList) 생성
  • numbers의 숫자들을 더하기 위해 2중 for문을 사용
    바깥 for문은 number와 index를 안쪽 for문은 바깥의 index와 비교할 index와 number와 더할 value를  불러옴
  • 바깥의 index와 안의 index가 같지 않은 경우에만 number끼리의 합을 구해 mutableList에 추가
  • mutableList의 중복 데이터를 distinct()를 이용해 제거해 주고, sorted()로 오름차순으로 정렬해 준 후 intArray로 변환

 

2. 개인 공부

A. 토이 프로젝트 아이디어 구상

공부 내용 간단 정리

  • sns와 비슷한 기능을 하는 앱을 만들고 싶음.
  • 개발자를 위한 sns를 만들고자 함.

 

 


 

간단 정리

  • 이전에 기능 구현을 끝낸 planner는 앱 이름을 정확히 정하고 오류 테스트 후 출시할 예정이다(13일부터 진행).
728x90