일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- 데이터분석
- 중학수학
- 디버깅
- 타입스크립트심화
- 순환신경망
- 자바 실습
- rnn
- 혼공머신
- 데이터베이스
- JSP
- 자바스크립트
- ChatGPT
- 정보처리기사실기
- 딥러닝
- JSP/Servlet
- html/css
- 개발일기
- 중학1-1
- 스프링프레임워크
- 컴퓨터비전
- 연습문제
- SQL
- 쇼핑몰홈페이지제작
- JDBC
- 정보처리기사필기
- 자바
- 머신러닝
- 자바스크립트심화
- 파이썬
- 상속
- Today
- Total
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
자바 프로그래밍 기초 16 - 연습문제 다시 풀어보기 <8번 ~ 12번> 본문
나머지 연습문제를 이어서 풀어보기로 하자! 이제 5문제가 남아있다.
문제 8번
첫 번째 도전
뭔가 잘못 쓴 것 같은데 빨간 줄이 왜 뜨는지는 모르겠다. 많이 어려운 문제이니 정답을 참고하며 다시 풀기로 했다.
두 번째 도전
메서드를 왜 썼는지 두 번째로 문제를 풀어보며 알게 되었다. 그건 네 개의 점을 표시하기 위해서였다. 앞의 7번 문제처럼 일반 조건문을 사용하면 조건이 굉장히 길어지기 때문이다.
그리고 전에 풀 때는 네 개의 위치 중 두 점만 그 안에 있으면 충돌하는 거라고 생각했는데 아니었다. 네 개의 위치 모두 그 안에 속해야 충돌하는 것이었다.
문제 9번
이 문제는 너무 어려워서 정답을 보면서 풀었다. 아직 배우지 않은 것들도 나오지만 if-else 문을 연습하기에는 괜찮은 문제인 것 같다. 다음에 함수를 배우고 나서 다시 풀어볼 생각이다.
위 그림은 원과 한 점의 관계를 시각적으로 보여준다.
- 파란색 원은 주어진 중심과 반지름을 가진 원을, 빨간색 점은 주어진 점의 위치를, 점선은 원의 중심과 점 사이의 거리를 나타낸다.
이 그림에서 점이 원의 내부에 위치하고 있는지, 외부에 위치하고 있는지를 확인할 수 있다.
- 만약 점과 원의 중심 사이의 거리가 원의 반지름보다 작다면, 점은 원 안에 있다.
- 거리가 원의 반지름보다 크다면 점은 원 밖에 있다.
문제 10번
9번 문제와 비슷하지만 이것도 수학에 대해 어느 정도 알아야 풀 수 있는 문제이다.
처음 풀 때보다 지금 다시 풀어보니 훨씬 더 이해가 되었다. 이 코드를 그림으로 그리면 다음과 같다.
위 그림은 두 원이 서로 겹치는 경우를 보여준다.
- 파란색 원은 첫 번째 원이며, 빨간색 원은 두 번째 원이다.
- 두 원의 중심을 연결하는 점선은 두 원 사이의 거리를 나타낸다.
- 두 원이 겹치기 위해서는 중심 간의 거리가 두 원의 반지름 합보다 작아야 한다. 만약 중심 간의 거리가 반지름의 합보다 크면, 두 원은 서로 겹치지 않는다.
그림에서 두 원의 중심 간의 거리는 두 원의 반지름 합보다 작으므로, 두 원이 겹치는 것을 볼 수 있다.
그림으로 살펴보니 내용 이해가 훨씬 쉬워진다.
문제 11번
1) if-else 문
첫번째 도전
0을 입력했는데 겨울이 나왔다. 코드를 뭔가 잘못 쓴 것 같다.
두 번째 도전
이번에도 0을 입력하자 겨울이 되었다. 이 문제는 정답을 보고 풀어야 할 것 같다.
마지막 도전
잘못 입력으로 잘 나온 것을 보니 잘 출력이 되었다. 지난번에 쓴 코드를 보니 맞았고 생각했는데 틀린 답안이었다. 이제 이 문제를 switch문으로 풀어볼 것이다.
2) switch 문
switch 문으로도 잘 출력이 되고 있다. 이 문제는 정답도 보지 않고 혼자서 잘 풀었다. 여기서 break 문을 꼭 써야 한다는 것을 기억하자!
문제 12번
1) if-else 문
이렇게 잘 출력이 되고 있다. 나누기 문제는 어떻게 하는지 몰라서 정답을 참고하며 풀어보았다. 0으로 나누는 대상이 무엇인지, 조건은 어떻게 만드는지 좀 이해가 되지 않았다. 이런 문제는 내게 많이 어렵다. 특히 난 나누기 문제에 많이 약한 것 같다.
2) switch 문
switch 문으로도 잘 출력이 되고 있다. 전에 풀었을 때는 이 문제를 어떻게 풀어야 할지 몰라서 사칙연산으로만 풀었다. 이번에는 제대로 풀 수 있어서 정말 기뻤다.
학습을 마치고
이로써 오늘 하루종일 2단원까지 모든 학습을 마쳤다. 연습문제도 3번째 풀어보는 문제들도 있고, 2번째 풀어보는 것도 있었지만 처음부터 끝까지 정답대로 다 풀어보는 건 이번이 처음이었다.
이제 난 자바 프로그래밍에 대해 자신감이 생겼고 어떤 문제든지 도전해서 해결할 수 있겠다는 자신감이 생겼다. 다음 포스트에서는 for문에 대해서 학습을 이어가 볼 것이다!
'프로그래밍 언어 > 자바' 카테고리의 다른 글
반복문과 배열 그리고 예외 처리 2 - for문 + while문, do-while문 (0) | 2024.08.11 |
---|---|
반복문과 배열 그리고 예외 처리 1 - for문 기초 학습 (0) | 2024.08.11 |
자바 기초 프로그래밍 15 - 연습문제 다시 풀어보기 <4~7번> (0) | 2024.08.10 |
자바 기초 프로그래밍 14 - if/else문 실습 (0) | 2024.08.10 |
자바 기초 프로그래밍 13 - 연산자 및 삼항연산자 실습 문제 풀기 (0) | 2024.08.10 |