본문 바로가기
부트캠프

[TIL] 유데미X사람인 취업 부트캠프 21일차 / java

by 상똥 2024. 1. 12.

[1. 오늘 배운 것]

1. 오토박싱

-기본값을 이용해 코드를 입력할 수 있고 컴파일러가 이것들을 래퍼로 변환시키는 것을 도움

 

2. Dates

- LocalDate : 날짜

- LocalDateTime : 날짜와 시간 모두

- LocalTime : 시간값을 나타냄

 

3. LocalDate 탐색

 

4. Dates와 specif 생성

- 날짜 일부 바꿔서 출력하기

- 날짜 생성하기, 비교하기

 

5. 연습문제

- 문자열 안의 대문자 개수 확인하기

public class StringMagic {

    public int countUppercaseLetters(String str) {
        if(str == null){
            return 0;
        }
        
        int cnt = 0;
        
        for(int i = 0; i < str.length(); i++){
            if (Character.isUpperCase(str.charAt(i))){
                cnt++;
            }
        }
        
        return cnt;
    }
}

- 문자열에 두 개의 연속된 동일한 문자가 있는지 확인하기

public class StringMagic {

    public boolean hasConsecutiveDuplicates(String str) {
        if (str == null){
            return false;
        }
        
        for(int i = 0; i < str.length() - 1; i++){
            if (str.charAt(i) == str.charAt(i + 1)){
                return true;
            }
        }
        return false;
    }
}

- 문자열의 가장 오른쪽에 있는 숫자 구하기

public class StringMagic {

    public int getRightmostDigit(String str) {
        if (str == null){
            return -1;
        }
        
        for (int i = str.length()-1; i >= 0; i--){
            if (str.charAt(i) >= 48 && str.charAt(i) <= 57){
                return Character.getNumericValue(str.charAt(i));
            }
        }
        
        return -1;
    }
}

- 가장 긴 단어 찾기

public class StringMagic {

    public String findLongestWord(String sentence) {
        if(sentence == null){
            return "";
        }
        
        String[] words = sentence.split(" ");
        
        int maxLength = 0;
        String longestWord = "";
        
        for (String word : words){
            if(word.length() > maxLength){
                maxLength = word.length();
                longestWord = word;
            }
        }
        
        return longestWord;
    }
}

 

6. Array의 기초

- 배열은 한 번 생성하면 그 크기를 줄이거나 늘릴 수 없음

 

7. 가변적 매개변수

- 가변인수를 받는 메소드 생성하기

- ... 매개변수 자리에 사용

 

8. 연습문제

- 더 큰 요소가 있는지 검사하기

public class ArrayMagic {

    public boolean doesHaveElementGreaterThan(int[] array, int number) {
        for(int value : array){
            if (value > number){
                return true;
            }
        }
        
        return false;
    }
}

- 두 배열의 합이 같은지 확인하기

public class BiArray {

    private int[] array1;
    private int[] array2;

    public BiArray(int[] array1, int[] array2) {
        this.array1 = array1;
        this.array2 = array2;
    }

    public boolean areSumsEqual() {

        int sum1 = calculateSum(array1);
        int sum2 = calculateSum(array2);

        if (sum1 == sum2){
            return true;
        }
        
        return false;
    }

    private int calculateSum(int[] array) {
        int sum = 0;
        for(int value : array){
            sum += value;
        }
        
        return sum;
    }
}

- 배열이 정렬되어 있는지 확인하기

public class ArrayMagic {

    public boolean isSorted(int[] array) {

        for(int i = 0; i < array.length-1; i++){
            if(array[i] > array[i + 1]){
                return false;
            }
        }
        
        return true;
    }
}

- 약수 배열에 담아 반환하기

import java.util.ArrayList;
import java.util.List;

public class NumberMagic {

    public List<Integer> determineAllFactors(int number) {

        List<Integer> divisors = new ArrayList<>();
        
        for(int i = 1; i <= number; i++){
            if (number % i == 0){
                divisors.add(i);
            }
        }
        
        return divisors;
    }
}

- 숫자의 배수들 반환하기

import java.util.ArrayList;
import java.util.List;

public class NumberMagic {

    public List<Integer> determineMultiples(int number, int limit) {

        List<Integer> multiples = new ArrayList<>();
        if (number <= 0 || limit <= 0){
            return multiples;
        }
        
        for(int i = 1; i <= limit / number ; i++){
            if (i*number >= limit){
                break;
            }
            multiples.add(i*number);
        }
        
        return multiples;
    }
}

 

[2. 오늘 잘한 점]

멘토링 시간에 개인 면담을 잘 마쳤다. 원하는 대답을 얻은 것 같아서 속이 후련하기도 하고 그렇다................................ 열심히 해야겠다는 생각이 든다!

 

[3. 개선해야할 점]

멍때리지 말기! 정신좀 차리고 살아야겠다 그리고 자바스크립트랑 리액트 다시 봐야겠다는 생각이 든다!!