728x90
반응형
안녕하세요. delay100입니다.
마침내 2주차의 백준 문제 푸는 날이 끝났습니다..!!
내일은 아침부터 코딩테스트를 본다하여.. 실질적 2주차 백준 문제 과제는 오늘까지네요...(하지만 3, 4주차도 백준 풀기!)
오늘도 8문제(브론즈 3개, 실버4개, 골드 1개)를 해결했습니당!
2주차동안 꼭 1~8번은 풀도록 마음먹었는데 결국 해냈습니다..!! 다 풀고 시간이 좀 남는 날은 9~11번도 풀었는데 잘 마무리한 것 같아서 뿌듯하네요!!
2주차 TIL 질문 키워드
Q1. 오늘 진행된 강의에서 학습한 내용은 무엇인가요?
A.
2차원 배열에 대해 배웠습니다. 아래 코드는 배열의 특정 열을 삭제하는 예시 코드입니다.
// 배열의 특정 열 삭제
public static int[][] removeColumn(int[][] original, int colIndex) {
if (original.length == 0 || colIndex < 0 || colIndex >= original[0].length) {
throw new IllegalArgumentException("잘못된 열 인덱스입니다.");
}
int originalRowCount = original.length;
int originalColCount = original[0].length;
int[][] result = new int[originalRowCount][originalColCount - 1]; // 열을 하나 삭제한 배열 생성
for(int i = 0; i < originalRowCount; i++) {
for(int j = 0, k = 0; j < originalColCount; j++) {
if (j == colIndex) continue; // 삭제할 열은 건너뛴다
result[i][k++] = original[i][j];
}
}
return result;
}
Q2. 오늘 진행된 팀 스터디에서 얻은 인사이트는 무엇인가요?
A1. 메소드 분리하기
코딩테스트를 볼 때 메소드로 뺄 수 있으면 분리하자
A2. 배열은 객체인가?
// 배열은 객체?
int[] arr = new int[3];
// java에서 .을 썼다는 것은 객체라는 것
arr.length
// Object메소드들임(Object를 상속받고 있다는 것)
arr.toString();
arr.equals();
// int[], Integer[] 차이?
int[] arr = new int[3]; // primitive type
arr[0] = 1;
Integer[] arr = new Integer[3];
arr[0] = 1;
// Q. int, Integer 어느 메모리에 저장?
// A. 둘 다 Heap에 저장됨
// 객체의 주소는 Heap Memory에서 관리
// primitive type -> stack에 저장될 것 같지만 Heap에서 관리함
A3. static의 선언 시점
// static
// 자바 클래스 로딩
// 자바 클래스 로딩 시점은 동적으로 이루어짐
// class A가 필요할 때 로딩이 된다는 말임
public class A {
static int a = 10; // A클래스가 사용되지 않으면 메모리에 뜨지 않음 -> static이 선언되지 않음
}
// 빌드 -> .class 파일들이 메모리에 올라감
// 그런데 A가 사용되지 않으면 필요할 때만 A가 메모리에 올라감
// => A라는 객체를 생성하는 것과는 관련이 없고, A.a와 같이 A클래스를 호출하기만하면 동적 로딩이 일어남
// +추가
// . getClass
// class에 대한 meta정보를 가지고 있음
// 면접질문: 자바 코드가 실행되기까지 과정을 알려주세요
A4. final 키워드
// final
final List<Integer> list = new ArrayList<>();
// Q. list안에 내용을 추가하거나 삭제할 수 있는가?
list.add();
list.remove();
// A. 가능
// Q. final은 그럼 무슨 의미를 갖는가?
// A. list자체의 재할당이 불가능함, 내부 요소들과는 상관이 없음
final int[] arr = {1, 2, 3};
// Q. 그렇다면 위와 같은 배열은 값을 바꿀 수 있는가?
// A. 값 자체는 바꿀 수 있고, 새로운 배열을 넣을 수는 없음
final 대신에 list안의 immutable collection을 쓰면 내부의 값도 바꾸지 못함!
항해99 취업 리부트 코스를 수강하고 작성한 콘텐츠 입니다.
[할인]란에 “추천왕 3기 백지연” 입력 시 10만원 할인
(*얼리버드, 타 혜택 중복 적용 가능)
728x90
반응형
'항해99 > 취업 리부트 코스 3기' 카테고리의 다른 글
[항해99 취업 리부트 코스 학습일지] 3기 13일차 TIL(부제: 불태웠다...) (1) | 2024.06.05 |
---|---|
[항해99 취업 리부트 코스 학습일지] 3기 12일차 TIL(부제: 코테 긴장 + 모의면접 긴장 => 자신감 하락...) (0) | 2024.06.04 |
[항해99 취업 리부트 코스 학습일지] 3기 10일차 TIL (0) | 2024.06.01 |
[항해99 취업 리부트 코스 학습일지] 3기 9일차 TIL (0) | 2024.05.31 |
[항해99 취업 리부트 코스 학습일지] 3기 8일차 TIL (0) | 2024.05.30 |