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

자바 기본 프로그래밍 암기 및 손코딩 3 - if/eles 문 본문

프로그래밍 언어/자바

자바 기본 프로그래밍 암기 및 손코딩 3 - if/eles 문

huenuri 2024. 8. 10. 14:57

어제 저녁에 조건문 문제 10문제를 만들었는데, 그중 if-else문 문제 5개를 풀었었다. 6번째 문제에서 막혀서 공부를 중단했지만 오늘 이 문제를 집에 오자마자 다시 풀어보았다.
조건문은 수업 녹화가 하나도 되어 있지 않아 선생님의 코드만 보면서 분석을 하니 무슨 문제였는지 모르는 것들도 몇 개 있었다.

이번에 다시 문제를 손코딩으로 풀어보며 그때 이해하지 못했던 모든 문제들이 이해가 되었고 조건문에 대해서도 자신감이 생겼다.
아직 switch 문제는 풀지 않았지만 이것도 분명 잘할 수 있으리라 믿는다. 연습문제도 풀어야 하고 반복문을 나가려면 며칠 걸리겠지만, 본 학습인 개념과 응용 학습도 계속해서 진행할 예정이다.

 

학습 목표

  1. 단순 if문에서 중첩 if-else문까지 구문을 이해하고 조건문을 사용할 수 있다.
  2. 문제를 풀면서 이해가 되지 않는 부분은 왜 그러한지 분석하며 해결해본다.

학습 시간

전날 저녁 6시 10분 ~ 7시 반
오늘 저녁 6시 20분 ~ 7시 <총 2시간 소요>


 

 

 

if-else 문제 풀기

 

문제 8번

 

if문을 사용하는 비교적 쉬운 문제였지만, 혼자서 풀 수 있는지 테스트하기 위해 이 문제를 선택해보았다.


 

 

 

문제 9번

 

9번 문제는 수업 예제에 있었던 문제인데, 그때는 이상하게 콘솔창에 아무것도 출력되는 게 없어서 이상하다고 생각했었다. 근데 조건에 보면 3과 5의 배수가 아닌 수는 출력이 안되게 되어있었다.
만약 15를 넣었다면 잘 출력이 되었을 것이다.


 

 

 

문제 10번

 

조금 어려운 응용문제였다. 변수를 만들고 값을 누적하는 방법을 알고 있다면 충분히 풀 수 있다. 한 가지 실수를 했지만, 손코딩으로 하니 이런 부분이 잘 보여서 공부에 더 도움이 되는 것 같다.


 

 

 

문제 11번


 

 

 

 

문제 12번

 

12번 문제도 이전에는 이해하지 못했는데 이번에 문제를 풀며 알게 되었다. sub에는 점수가 아니라 맞힌 문제를 입력해야 한다. 얼마의 점수가 되면 몇 개를 맞출 수 있는지 계산해야 하는데, 60점이 되려면 8개 미만이면 과락이 된다.
8과 60이 무엇을 의미하는지 전에 풀 때는 잘 몰랐는데, 이번에 확실히 알 게 되었다. 12개를 맞춰야 하는데 과목이 5개니 60개를 넘겨야 한다는 뜻이다.


 

 

 

문제 13번

 

마지막 13번 문제는 정말 어려웠다. 푸는데 30분도 훨씬 넘게 걸린 것 같다. 어제 조건문 만들기 전 단계까지 풀다가 다 하지 못하고 말았다. 조건문을 주는 방법은 여러가지가 있지만, 그중에서 가장 반복이 적고 횟수도 적은 것으로 선택하는 것이 좋다.
4학년을 if 조건으로 주면 조건이 너무 많아져 score로 먼저 조건을 정해주는 것이 좋았다.

중첩되는 조건이 많으니 많이 헤깔리는 어려운 문제였다. 다음에 이 문제를 다시 풀어보려고 한다. 그때는 이클립스로 실행시키면서 풀어도 될 것 같다.


 

 

 

학습을 마치고

이렇게 어제와 오늘 if-else문을 학습한 부분까지 정리해보았다. 난 비슷한 개념의 단원이 끝날 때 학습일지를 쓰는 편이다. 그렇기에 어제 이 단원의 학습을 마치지 못해서 오늘 쓰게 되었다.

손으로 코딩하면 시간은 많이 걸리지만 어떤 부분에서 잘 되지 않는지 확실히 구분이 되는 것 같다. 자동완성 기능을 쓰다 보면 대부분 코드를 이해하지 못한채 그저 기계처럼 반복할 가능성이 많다.
혼자서 이렇게 써보면서 공부도 더 재미있고 자바 실력도 조금씩 향상하는 것 같다. 앞으로도 이런 손코딩을 계속해볼 것이다.