클라이언트/ 서버/ 엔지니어 " 게임 개발자"를 향한 매일의 공부일지

자바 기본 프로그래밍 9 - 2장 연습문제 풀기 본문

프로그래밍 언어/자바

자바 기본 프로그래밍 9 - 2장 연습문제 풀기

huenuri 2024. 8. 10. 14:30

오늘은 5시에 일어나 새벽 공부를 시작해보았다. 오늘 과제도 있고 수업 내용도 정리할 게 있지만 자바를 먼저 공부하고 싶었다. 1시간 넘게 문제를 풀었는데 문제가 정말 많아서 실습문제는 아직 풀지 못했다.
이 문제는 다음에 시간이 있을 때 풀고 오늘 연습문제 이론까지 학습하면 이제 어느 정도의 기본은 닦인 것 같다.

틀린 문제가 정말 많지만 그러면서 더 배우게 되는 거라 생각한다. 그럼 오늘의 학습을 시작해본다! 어제 졸려서 풀지 못했던 핵심 체크문제부터 풀어보았다.


 

 

 

핵심 체크문제

 

확인문제 풀기


 

 

Open Challenge 실습문제 풀기

 

내가 푼 풀이


 

 

정답 풀이

 

자바에서는 scanner를 닫지 않으면 오류 표시가 뜬다. 어제 이상하게 파일에 모두 느낌표가 되어 있어서 보니 이런 문제였다는 것을 알게 되었다. 모두 닫아주었고, 변수를 선언하고 사용하지 않으면 또 같은 오류가 뜬다.
이 문제도 수정해주었다. unusual이라고 마크를 달아주면 다시는 표시가 나오지 않는다.

처음에는 if-else문을 사용하다가 마지막 else에 조건이 없는 것 같아서 if를 여러번 사용하는 것으로 바꾸었다. 하지만 이렇게 하면 계속해서 조건을 다시 체크해야 하므로 별로 좋은 코드는 아닌 것 같다.


 

 

 

연습문제 이론편

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

연습문제는 홀수 문제밖에 제공하지 않아서 짝수는 내가 생각하는 대로 채점해보았다. 14번 문제의 경우 왠지 틀렸을 것 같아서 세모 표시했는데 다음에 코드를 직접 써보며 맞는지 확인해보려고 한다.
비슷한 문제를 OpenChallenge에서 풀었다. 맞았긴 했는데 정답의 코드와는 약간 달랐다.

7번 문제는 score의 범위를 잘못 설정했다. 프로그래밍에서는 수학과 달리 &&, || 연산자를 사용해서 범위를 좀더 상세히 지정해주어야 하는 것 같다. 왜냐하면 컴파일러는 위에서 아래, 왼쪽에서 오른쪽으로 읽기 때문이다.
13번 문제는 break가 없기 때문에 A일때는 모두 더한 190이 되고, B는 90, C는 40이 된다.


 

학습을 마치고

오늘은 이렇게 연습문제만 풀어보았는데 1시간 반 정도 걸린 것 같다. 이제 새벽 공부 시간이 2시간도 남지 않았다. 지난주에 들었던 취업 특강 수업을 정리해보고, 실습 과제도 오늘까지 제출해야 한다.
마우스도 몇달 전부터 잘 먹혔는데 수리하기 귀찮아서 그냥 쓰다보니 요즘 자꾸 증세가 심해지고 있다. 이것도 서둘러서 고치거나 하나 장만해야 할 것 같다.

이런 사소한 문제들이 반복이 되면 작업을 하는데 방해가 되기도 하니까 해야 할일은 미루지 말고 해결하는 습관을 길러야겠다.
그리고 조교님은 자기가 편한대로 과제를 너무 빨리 제출하라고 해서 그런 부분이 마음에 들지 않는다. 담임 선생님은 수요일 오후 6시까지 내라고 하는데, 조교님은 전날까지 다 하라고 재촉을 하는 편이다.
어쨌든 과제도 어서 제출해야겠다.