3일에 걸쳐 전반적인 Java의 개념을 배우고
연습문제를 풀어보았다.
최종 과제로 intellij를 이용하여 계산기까지 만들어 보았다.
주요 학습내용
- 변수와 타입
- 문자열(String)
- String 클래스의 메서드
- 연산자와 연산자 우선 순위
- 콘솔 입출력
- 제어문(조건문,반복문)
- 배열(1차원 배열, 2차원 배열,가변 배열)
- 계산기 만들기 과제
반복문 문제
아래는 코플릿 문제 답이 있으니 혹시 코드스테이츠 수업을 들으실 분들은 보지 않으시는게 좋을 것 같다 ㅎㅎ
반복문 문제 17
1 이상의 자연수를 입력받아 소수(prime number)인지 여부를 리턴해야 합니다.
입력 - int 타입의 수
출력 - boolean 타입을 return해야 합니다.
나의 답안
reference
여기서는 Math.sqrt 를 활용했다.
제곱근을 구하는 메서드이며
어떤 수의 약수들이 제곱근을 기준으로 대칭을 이루는 특성을 이용했다
이를 이용하면 for문을 도는 숫자가 확 줄어들므로 더 빠르게 결괏값을 도출해낼 수 있다.
이렇게 얼마나 효율적으로 코드를 짤 수 있는지는 백엔드 개발에서 중요한 부분을 차지하며
이를 평가하는 테스트가 알고리즘 테스트이다
고로 코드 짤 때 효율 머리를 더 굴려보려고 해보자
어려웠던 점😂
오류,부족한 시간,익숙하지 않은 구조
오류잡는것이 가장 힘들다...
구조도 익숙치 않아 조금 헷갈리고 해서 오류가 많이 뜨고
논리가 안맞아서 고치는 건 재밌는데 오류잡는건 재미가 없다 :(
흑흑 그리고 문제의 난이도에 비해 시간을 너무 적게 준다... 하루안에 기본 문법을 공부하고 그 처음 배운 개념을 가지고40문제 가까이 되는걸 풀어야 하는데 수업 시간 내에는 부족하다...
대부분의 분들이 다 못푸신 것 같더라
해결한 방법😊
어느 부분에서 오류가 많이 나는지 하다보니 감이 온다
예를 들면 int i = 0 ; 처럼 변수를 선언하는 부분에서 변수의 타입을 안 썻다던가,
;세미클론을 안썻다던가,
{}괄호를 제대로 안닫았다던가 ,
return 해야 할 부분에 return 값이 없다던가 등!
그래서 오류 문구가 뜨면 가장 먼저 이 부분들을 확인하게 되고, 확실히 속도가 빨라졌다.
학습 후 느낀점👀
무얼 하느냐도 중요하지만 누구와 함께 하느냐도 중요하다
페어분을 너무 잘 만난 것 같다!ㅎㅎ
관련전공에 관련 업무도 약간 하신 분이었다.
그에 비해 나는 코린이 :(
그래서 같이 문제를 풀면서 거의 대부분의 시간을 내가 짠 코드에서 난 오류 잡는데 썻는데,
오류를 같이 찾아주시면서 대게 이런부분에서 많이 오류가 난다.
이런 부분을 주의해서 봐야한다는 것들을 알려주셨다.
덕분에 후반으로 갈수록 속도도 빨라졌고,
나때문에 문제푸는 속도가 뒤쳐져서 죄송하고 기가 죽었는데
그게 보였는지 계속 칭찬해주셨다 ㅋㅋㅋ 처음에는 칭찬 많이 들어야 재미붙인다며
아직 구조가 익숙하지 않아 그렇지 바로바로 논리있게 설계를 잘한다구 내가 풀때마다 으쌰으쌰 해주셨다.
칭찬에 약한 나는 덕분에 자신감 살짝 up하며 코딩에 조금 더 재미를 붙인 것 같다.ㅎㅎ
모든 조건을 충족했다는 메세지가 뜰 때 엄청난 뿌듯함이 느껴진다.
그래서 오래걸리더라도 reference 최대한 보지 않고 주말까지 반납하며 문제를 풀었던 것 같다.
'Java' 카테고리의 다른 글
Java - 람다와 메서드 참조 (0) | 2022.09.18 |
---|---|
Java-삼항연산자 (0) | 2022.09.17 |
Java - 다형성 (0) | 2022.09.17 |
Java - 클라스와 객체,필드와 메서드 (5) | 2022.09.17 |
Java - 스레드의 생성과 실행 (0) | 2022.09.17 |