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

자바 기본 프로그래밍 10 - 단원 마무리 실습문제 풀기 1~7번 본문

프로그래밍 언어/자바

자바 기본 프로그래밍 10 - 단원 마무리 실습문제 풀기 1~7번

huenuri 2024. 8. 10. 14:33

정처기 공부를 5시 10분까지 해서 마치고 이제 자바 공부를 시작해보았다. 처음 10분 이상은 하기 싫은 마음과 싸우며 딴짓을 하기도 했지만 다시 집중하며 공부에 임해본다. 잠은 일어난지 2시간이 넘어서야 겨우 깬 것 같다. 이제 기본 프로그래밍 단원 마지막 단계가 남아있다.

실습문제가 12문제나 되고 문제의 난이도도 꽤 높지만 이 문제를 풀며 단원을 마무리하려고 한다.
그럼 바로 문제 풀이를 시작해본다.


 

 

 

단원 마무리 연습문제 풀기

강의 중에 자판기 프로그램을 만드는 문제가 하나 남아있는데 소리가 나지 않아서 어떤 문제인지 정리하기가 쉽지 않았다. 몇 번 써보다가 시간만 낭비한채 그냥 연습문제만 풀어보기로 했다.

 

 

1번 문제

원화를 입력 받아 달러로 바꾸는 프로그램

 


 

 

 

2번 문제

2자리 정수를 입력 받고 십의 자리가 같은지 판별하는 프로그램

 


 

 

 

3번 문제

정수로 된 돈의 액수를 입력받아 오만 원권, 만 원권, 천 원권, 500원짜리 동전, 100원짜리 동전, 50원짜리 동전, 10원짜리 동전, 1원짜리 동전 각 몇 개로 변환되는지 출력

 

 

문제가 너무 어려워서 한참을 고민했지만 풀지 못했다. 한 40분 이상 이 문제로 씨름한 것 같다.


 

 

정답 풀이 참고

 

갱신된 돈을 res 변수를 하나 만들어서 담아주어야 했다. 갱신을 하기는 했으나 단순히 값을 빼기만 해서 값이 제대로 나오지 않았던 것 같다.


 

 

 

4번 문제

정수 3개를 입력 받고 3개의 숫자 중 중간 크기의 수를 출력(평균값을 구하는 것이 아님)

 

 

정말 어려운 문제였는데 드디어 풀었다! 전에 코딩테스트로 이런 비슷한 문제가 있었는데 그때마다 못풀었던 기억이 난다.
그리고 처음으로 scanner에서 1개가 아닌 3개의 값을 받는 것도 해보았는데 어떻게 써야 하는지 알게 되었다.


 

 

 

5번 문제

삼각형의 변의 길이를 나타내는 정수 3개를 입력받고 이 수로 삼각형을 만들 수 있는지 판변

 

 

이렇게 하니 무엇이든 삼각형이 된다고 한다. 조건을 다르게 변경해주었다.


 

다시 풀어보기

 

이제 드디어 삼각형을 판별할 수 있다. 아닌 경우를 먼저 생각해야 한다는 걸 이 문제를 통해 배울 수 있었다. 코딩테스트에서도 이런 문제가 있었는데 역시 풀지 못했었다. 자바를 배우면서 프로그래밍에 대한 이해가 더 깊어지는 것 같아 기쁘다.


 

 

 

문제 6번

3, 6, 9 중 하나가 있는 경우 박수짝을, 두개 있는 경우 박수짝짝을 출력

 

 

 

 

다 맞은줄 았았는데 하나의 조건이 통과하지 않았다. 3과 6이 둘다 있을 때의 조건을 만족해야 한다.
문제가 너무 어려워서 한 문제를 푸는데 30분 가까이 걸린다.


 

 

 

문제 7번

2차원 평면 안의 두 점 (100, 100)과 (200, 200)의 두점이 사각형 안에 있는지 판별하는 문제

 

 

 


 

 

 

오늘의 학습을 마치고

오늘 12개의 문제를 풀고 반복문 학습도 하려고 했는데 문제 하나 푸는데 굉장히 많은 시간이 걸렸다. 난이도 정말 높아서 도저히 풀 수 없는 문제들도 꽤 있었다.
저녁에 집에 와서 이 문제들을 이어서 풀어볼 생각이다. 팀프로젝트 아이디어도 생각해야 하는데 시간이 30분도 남지 않아서 고민이다. 공부하랴 프로젝트 하냐 정말 바쁘다.
브레인스토밍으로 주제 3개는 만들어야 하는데.. 쉬는 시간에라도 해야 할 것 같다.