본문 바로가기
국비학원 전 강의 필사/JAVA 플레이그라운드

#18 추가 미션 및 마무리하기 - <JAVA플레이그라운드>

by kkooHan 2022. 8. 18.

 

출처 : https://www.inflearn.com/course/java-codesquad/dashboard

 

[무료] 만들어 가면서 배우는 JAVA 플레이그라운드 - 인프런 | 강의

는 마스터즈코스 화이트레벨을 수강하기 위한 준비단계입니다. 대상은 코딩을 전혀 경험해보지 않았던 분들을 위한 과정입니다. 기존의 이론 위주로 학습 방식이 아니라 무엇인가를 만들어가

www.inflearn.com

 

 

 

 

 

 

필사 :

 

학습 목표

- 지금까지 학습한 내용을 활용해 한 단계 더 난이도가 있는 문제를 구현하는 경험을 한다.

 

 

최종 요구사항 1

 - 사용자가 입력한 값에 따라 크기가 다른 구구단을 계산해 출력한다.

 - 예를 들어 사용자가 8을 입력하면 팔팔단, 19를 입력하면 십구십구단(2 * 1에서 19 * 19)을 계산해 출력한다.

 - 이 요구사항은 앞의 실습을 소화했으면 구현할 수 있기 때문에 생략한다.

 

 

최종 요구사항 2

 - 사용자가 입력한 값에 따라 크기가 다른 구구단을 계산해 출력한다.

 - 예를 들어 사용자가"8,7"과 같은 문자열을 입력하면 팔칠단을 구현한다.

   팔칠단은 2 * 1 ... 2 * 7, 3 * 1 ... 3 * 7, ... , 8 * 1 ... 8 * 7 까지 구현하는 것을 의미한다.

 

 

힌트

 - 사용자가 입력한 값을 문자열(String)로 받는다.

   Scanner scanner = new Scanner(System.in);

   String inputValue = scanner.nextLine();

 

 - 사용자가 입력한 값을 쉼표(,)를 기준으로 분리한다.

   String[] splitedValue = inputValue.split(",");

 

 - 쉼표를 기준으로 분리한 문자열을 숫자로 변환한다.

  int first = Integer.parseInt(splitedValue[0]);

  int second = Integer.parseInt(splitedValue[1]);

 

 - 2중으로 반복문(for 또는 while)을 실행해 곱셈 결과를 화면에 출력한다.

 

 

힌트를 보고 싶지 않다면

자바 api 이런 부분을 검색해서 찾으면 된다.

찾아서 자신만의 능력으로 풀어봐도 좋다.

자신이 부족한 부분이 파악될 것이다.

 

 

학습 마무리 조언

 - 지금까지 과정에서 자신 없는 부분, 이해가 되지 않는 부분을 정리하고 해당 부분을 집중 연습한다.

 - 전체 과정을 반복 연습한다. 단, 반복 연습할 때 힌트를 조금씩 줄여가면서 연습한다.

 - 각 단계 내용 중 자신이 애해한 부분과 이해하지 못한 부분을 정리하다.

   이해하지 못한 부분은 다른 미션을 구현하면서 이해한다.

 - 새롭게 등장하는 용어들에 대해 자신이 이해한 수준으로 정리하는 연습을 한다.

   반드시 100% 이해하지 못해도 괜찮다.

 

 

 

 

 

지금까지 과정을 살펴봤다면

변수, 데이터 타입, 반복문, 메소드, 배열 등 개념이 등장했지만

깊이 있는 설명은 없었다.

 

 

 

따라하기 식으로 과정을 진행했는데 이것은 의도적인 부분이다.

처음부터 배열이 무엇인지 데이터 타입이 무엇인지 변수가 무엇인지 등

이론적으로 다 이해하고 다음 단계를 진행해도 좋겠지만

 

그게 맞는 분들도 있지만

일단 무엇인가를 만들어 보면서

한 단계씩 다음 단계로 나아가면서

 

'프로그램이 정상적으로 동작하는 구나'

'근데 어떻게 동작하는 거지?'

약간 거꾸로.

 

일단 경험을 먼저 해본 다음

그 이후에 용어들, 내가 모르는 부분들에 대해서

책이나 온라인 문서를 통해서 스스로 학습해가기를 바라는 마음에서

이런 식으로 진행을 했다.

 

 

 

처음부터 너무 하나에 대해서 완벽하게 이해하려고 하다 보면

재미도 없고 자신감도 떨어지게 된다.

 

 

그것 보다는 무엇인가를 계속 만들어가면서

작은 성공 경험과 자신감을 얻은 다음

 

 

모르는 부분이 있으면

그 부분에 대해서 필요한 시점에 나의 눈높이로 

내가 알고 있는 용어로 이해할 수 있는 수준에서

이해하고 다음 단계로 넘어가도 괜찮다고 생각한다.

 

어느 순간에는 변수, 반복문, 조건문, 배열 필요한 시점 등의

개념들이 몸에 점점 익숙해질 것이다.

 

 

 

처음부터 지식에 압도되다 보니 

다음 단계로 전진을 못하는 분들을 많이 보는데

지식 위주 학습도 좋은 방법이지만

만들어가면서 거꾸로 체득해가는 방식으로 경험해보면 

좋지 않을까? 싶어서 제안을 드립니다.

 

 

 

다음단계 캘린더, 계산기로 넘어가는 것도 좋지만

지금 알게된 과정들을 반복해보고 숙달된 다음

다른 예제 코드로 넘어가는 것이 좋을 것 같다고 생각한다.

 

 

그동안 수고하셨고, 용기 잃지 말고

다음 단계 다른 샘플 예제에서 또 도전을 해서 만났으면 좋겠다.

수고하셨습니다.

 

 

 

 

 

느낀점 : 

 

솔직히 나는 지금 공부 방식이 매우 어색하다.

하지만 이 방식이었기 때문에

진도가 나갈 수 있었던 것 같다.

 

 

이번에는 정답을 알려주시지 않아서

조금 두렵기도 하지만 기회이다.클리어 해보자.

 

 

api는 뭐였지?

 

 

2022/08/18 : 최종 요구 1 성공

 

// for문에서 일단 나와야한다고 하니까 1차 문제 해결. 일단 3개 이상 써두고 규칙 반복되는 것 찾기.


// 8 -> 팔팔단 출력. 19 -> 십구십구단 출력
// 입력하면 값이 나온다 -> Screen 기능


// if j =3 -> j+1=4
// if 입력값 j=8 -> 88단 
// 앞의 값을 a, 뒤의 값을 b라고 한다면 a * 1~j / a+1 * 1~j / j * 1~j
// 이중반복문이 필수이다. 왜냐하면 a도 1씩 증가, b도 1씩 증가. b가 먼저 중가하는 반복문.

 

 

 

2022/08/19 : 최종 요구 2 성공

 

// 입력값의 변수명을 내가 보기 쉽게 j라고 설정했다.

// 처음에 했을 때 실행이 안되기에 맨 윗줄부터 다시 보면서 뚝딱뚝딱, 테스트, 뚝딱뚝딱, 테스트 하니 됐다.

// 반복문에 있는 숫자를 처음엔 Integer.parseInt(j)로 했다가 다시 보니 first와 second로 넣을 것 같아 넣어 해결.

 

<참고자료>

https://www.delftstack.com/ko/howto/java/how-to-convert-a-string-to-an-int-in-java/

댓글