상세 컨텐츠

본문 제목

프로그래머 도전기 21일차

프로그래머가 될거야!

by Choyee 2023. 9. 19. 00:11

본문

오늘은

티스토리 글을 올린지도 3주가 되었군요!

처음과는 이것저것 많이 달라진 느낌입니다

막연한 느낌은 없어졌고 조금은 조급해진 느낌이 생긴것 같고

처음의 열심히 배워보자를 넘어서 지금은 잘하고싶다 는 욕구가 생긴것 같습니다

 

JAVA 수업

배열 = 대용량 자료
int num = 10;  = 변수

배열 - 객체(인스턴스)
int[] numbers = new int[5]

배열 객체
Book[] books = new Book[5];  = 1차원
numbers[0] = 11;
numbers[0] = 11;

int[][] arr = new int[2][3]; = 2차원


Book클래스의 인스턴스 생성(book1)
Book book1 = new Book;  = 객체 1개

알파벳 1차원
2차원

 

01

상속과 다형성
다형성 - 하나의 타입에 대입되는 객체에 따라서
실행결과가 다양한 형태로 나오는 성질

형변환
자동형변환 - 부모 타입 = 자식 타입
강제형변환 - 자식 타입 = (자식타입)부모 타입
              -> instanceof 키워드 사용

문자열 일치 - 논리적 주소 일치
1. hashCode() 재정의
2. equals() 재정의

객체가 동등 객체인지 비교할 때는
먼저 hashCode()가 일치하고, 그 다음
equals() 리턴 값이 true여야 한다



배열(Array) -> ArrayList(), Map(key, value)

기본 클래스 - Object 제공되는 함수(메서드)

java.lang 패키지
Objcet, String, System

java.util 패키지
import
Scanner, ArrayList

ArrayList 클래스
- 배열의 단점을 개선한 자료 구조

0123

ArrayLiset<E(정해지지 않은 요소)>
E = 제네릭 표기 (일반화 - Generic)
자료를 상황에 따라 동적으로 정할 수 있음
->ArrayList<자료형>
   => 기본적으로 10개를 저장할 리스트 생성
   ArrayList<String> anumalList = new ArrayList<>();
자료 추가 = add()
리스트의 크기 - size()
가져오기 = get()
설정하기 - set()

배열 = number.length;
어레이리스트 = number.size()

고객관리 -> ArrayList로

추상메서드가 하나라도 있는 경우
-> class abstract Animall{
부모 클래스
    void move(){
      print("움직인다");  // 구체 메서드
    }
    void sound(); // 추상(abstract) 메서드
   }
자식 클래스
  메서드

추상메서드 = 선언부는 있고(), 구현부는 없다{}
              = 상속 받는 실체 클래스는 추상메서드를 필수적으로 구현해야 한다
  = 객체 생성 불가

012

 

코딩 테스트
Description
중앙값은 어떤 주어진 값들을 크기의 순서대로 정렬했을 때 가장 중앙에 위치하는 값을 의미합니다. 예를 들어 1, 2, 7, 10, 11의 중앙값은 7입니다. 정수 배열 array가 매개변수로 주어질 때, 중앙값을 return 하도록 solution 함수를 완성해보세요.
import java.util.Arrays;
class Solution {
    public int solution(int[] array) {
        
        Arrays.sort(array);
        int answer = array.length/2;
        return array[answer];
    }
}

Arrays.sort() 함수를 이용하여 배열을 간단하게 크기순서대로 정렬을 해줄 수 있었습니다

잊지말고 Arrays클래스를 import 해주어야합니다

 

 

 

Description 머쓱이네 피자가게는 피자를 일곱 조각으로 잘라 줍니다. 피자를 나눠먹을 사람의 수 n이 주어질 때, 모든 사람이 피자를 한 조각 이상 먹기 위해 필요한 피자의 수를 return 하는 solution 함수를 완성해보세요.
class Solution {
    public int solution(int n) {
        // 피자수, 사람의 수, 피자 조각의 수
        // 피자 조각 수 = 7
        // 피자 = 피자조각*7
        // 사람 = 피자조각
        // 사람 수가 7명 이상인 경우 피자를 7로 나누었을 때 나머지가 생기면 피자 + 1
        
        int piece = 7;
        int people = n;
        int pizza = n / piece;
        
        if(n % piece != 0){
            pizza ++;
        }
        return pizza;
    }
}

문장으로 봤을 때 머릿속에 쉽게 정리가 되지 않아 메모를 하면서 풀어보았습니다

 

 

Description
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요.
class Solution {
    public double solution(int[] numbers) {
        int sum = 0;
        double answer = 0;
        
        for(int i = 0; i < numbers.length; i++){
            sum += numbers[i];
        }
        answer = (double)sum / (numbers.length);
        return answer;
    }
}

평균값을 구해야 하기 때문에 소수점 문제가 있을 수 있으므로 자료형을 double로 해주었습니다

numbers의 길이가 곧 숫자의 갯수이기 때문에 numbers.length로 나누어 평균을 구했습니다

 

 

 

 

 

2023. 09. 18 (월)

관련글 더보기