항해 99 WIL(Weekly I Learned) day 14
2주차 회고록
이번주 여유롭다면 여유롭고 바쁘다면 바쁜 한 주였다. 알고리즘 코딩테스트를 위한 사전 준비과정이라고 생각 하면 될것 같다. 사고의 틀을 점점 컴퓨팅 사고로 바꿀 수 있는 소중한 기간이고 왜 2주차에 공부하는지 알것 같다. 또한, 각 주특기 언어로 문제를 풀려고 적용하다보니 언어에 대한 이해가 올라가 좋았다. 하지만 아쉬운 부분도 많았다.
강의가 너무 함축이 되어있어 처음 듣는 사람으로써 따라서 이해하기 힘들다. 같은부분을 몇번 들어도 깊이가 얕기때문에 이해하지 못하는 부분이 컷다. 항해에서는 필요한 부분만 필요할 때 구글링 또는 강의를 통해 배워가라고 한다.
이 부분은 큰 모순이 있는것 같다. 내가 익히고 있는 언어를 한바퀴 배운 후에나 적용가능한 점을 우리한테 가르키고 있다. 마치 수학에서 인수분해 등 함수에 필요한 사항을 잘 모르는데 적당히 '함수 정의와 개념을 이해한 후 적용해봐'라고 하는 것 같다. 상위 개념을 알기 위해서는 밑에 하위개념을 잘 파악해야 이해가 쉽고 빈틈이 생기지 않는다고 생각한다. 이 점을 간과하고 가다가는 취업시장에 나왔을 때 모르는 점이 많이 생길것 같아 다른 타 회사 강의들을 급하게 신청했다. 나의 부족한 점을 깨닫고 어디를 보안해야 할지 파악이 되는 주차였다.
WHAT I LEARNED?
.substring : 문자열을 원하는 시작위치부터 원하는 지점까지 문자열 자르기
String str = "ABCDEF"
str.substring(3); //3=시작위치 결과값 = DEF //시작점 부터 끝까지
str.substring(3,5) //3=시작점 5=끝점 결과값 = DE //끝지점 포함X
문자 -> 숫자
String to Int
Integer.valueOf() : new integer() 형으로 반환
Integer.parseInt() : 기본자료형으로 받아옴
둘의 결과값은 같으나 어떤 형으로 받아오냐의 차이가 생김
자료형
int,long 상관관계
int가 long으로 표현된 곳에 가는 것은 상과없음 4byte->8byte으로 오는 것이기에 메모리가 남음
하지만 반대의 경우는 반드시 형변형 표현 해줘야함
float와 double도 마찬가지임
class Solution { public double solution(int[] arr) {
double answer = 0;
int sum = 0;
for(int i = 0; i < arr.length; i++) {
sum += arr[i];
}
answer = sum / (double)arr.length; //int형 arr를 double로 변형
return answer;
}
배열
배열은 반드시 들어갈수 있는 크기를 정해줘야함
int[] arr = new int[3] //3개의 메모리만 생성
WHAT I DID?
- 자바언어를 이해하기 위해 강의를 완주함
- 하지만 객체지향 부분을 잘이해하지 못해 다른 강의를 듣는중
- 알고리즘문제를 품
WHAT I CHANGED?
- 알고리즘 문제를 풀기위한 컴퓨팅 사고력 증진
- 자바 언어의 이해력 상승
- 객체지향활용법 습득
- 필요한 부분 구글링 후 적용능력 향상
WAHT I WILL?
- 주특기 spring을 배우면서 java 언어의 이해력을 높이기 위해 노력할 예정
- 주 3회 프로그래머스 문제를 풀예정
- 알고리즘에 관한 강의 시청