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

메서드 13 - 문자열 클래스와 미션 문제 다시 풀어보기 본문

프로그래밍 언어/자바

메서드 13 - 문자열 클래스와 미션 문제 다시 풀어보기

huenuri 2024. 8. 15. 22:14

이제 엘리스로 넘어와서 메서드 문제 2개와 미션 문제 2개를 풀면 이 단원도 끝이 난다. 클래스 공부를 하기 전에 메소드 복습을 진행하니 정말 좋았다. 복습은 48시간 이내에 하는 것이 좋다고 하는데 그 말이 정말 맞는 것 같다. 사실 그동안 6일 안에 진도를 최대한 빨리 빼서 한 과목을 마치고 다음 과목 학습에 들어가는 것이 목표였다.

하지만 해보니 6일의 시간은 정말 짧았고 8월 1일부터 본격적으로 공부를 시작했는데 8일에 HTML/CSS 공부가 끝났다. 매일 공부만 하는 것도 아니고 노는 시간도 많았기 때문이다. 그리고 9일부터 자바를 공부하기 시작했는데 오늘로써 일주일째지만 처음부터 공부를 하다보니 일주일 동안 메소드까지밖에 나가지 못했다. 그래도 2번씩 복습하는 단원도 있고 이 정도면 진도가 나름 괜찮은 것 같다.

 

앞으로 3일은 더 자바 공부를 해볼 생각이다. 그래서 상속은 아니어도 클래스까지는 최소한 마치고 JSP 학습을 시작할 생각이다. JSP/Servlet은 5일 정도 할 목표를 갖고 있다. 그 다음에는 8월 말까지 9일 정도 자바 스크립트를 공부해보려고 한다. 과연 10월 중순에 있는 넥토리얼에 지원할 수 있을지 의문이다. 코딩테스트도 공부해야 하건만 아직 실력이 너무나도 미진하다.

어쨌든 이제 공부를 시작해보자!


 

 

 

 

실습 5 - String의 다양한 메소드 1

문자열 클래스 메소드를 활용해 출력해보기

 

 

 

이렇게 클래스 함수를 사용해보았다. 무척 어려운 문제라서 정답을 참고하면서 풀어보았다. 그래도 엘리스에서 답만 쓸 때마다 정말 많은 것들을 배웠다.


 

 

 

 

 

실습 6 - String 메소드 2

또 다른 문자열 함수 사용해보기

 

 

 

시작에서 끝 인덱스를 출력할 때 지난번에는 다르게 풀었다. 그때는 시작에서 끝까지 지정하는줄 알았는데 그렇게 하면 복잡해지고 그냥 시작 인덱스값만 지정해주면 끝까지 출력이 된다는 걸 알게 되었다.


 

 

 

 

 

미션 1 - 많이 사용한 알파벳

가장 많이 사용한 알파벳 출력하기

 

 

마지막 4번째 문제를 메인 함수에 담아서

 

 


 

 

 

4번 문제를 메소드로 만들어서 출력하기

 

 

 

드디어 이 문제를 맞추었다. 이 문제 하나 푸는데 1시간 반도 훨씬 넘게 걸린 것 같다. 그래도 완전히 이해하고 넘어가고 싶었다. 그동안 0점이 된 이유를 알게 되었다.  그런 잘 보이도록 출력할 때 문구를 넣었는데 그게 점수에 반영이 되지 않았던 모양이다.

그래도 처음 풀었을 때보다 훨씬 많이 이해했다. 그때는 무슨 말인지 하나도 몰랐었다. 그래도 궁금했던 부분을 정리해보겠다.

 

word.length()와 word.length의 차이

 

  • word.length():
    • 사용 대상: 문자열 (String)
    • 기능: 문자열의 길이(문자 개수)를 반환하는 메서드
    • 타입: int 타입의 값을 반환 
    • 설명: word.length()는 word라는 문자열의 길이를 반환합니다. 문자열이 포함하고 있는 문자의 개수를 세고, 그 값을 정수로 반환하는 메서드
  • word.length:
    • 사용 대상: 배열 (Array)
    • 기능: 배열의 크기(배열에 포함된 요소의 개수)를 반환하는 필드
    • 타입: int 타입의 값을 반환
    • 설명: numbers.length는 numbers라는 배열의 요소 개수를 반환한다. 배열의 크기를 나타내는 length라는 필드에 접근하여 해당 값을 가져옴
String word = "Hello"; 
int length = word.length(); // length = 5

 

 

int[] numbers = {1, 2, 3, 4, 5}; 
int length = numbers.length; // length = 5

 


 

 

 

 

 

미션 2 - 10보다 작게 만들기

변수 값을 입력하면 자릿수를 모두 더해서 출력하는 메소드 만들기

 

 

 

처음 풀 때는 이 문제를 이해하지 못했는데 이제는 알게 되었다. 입력한 수의 합이 10이 넘으면 그 수를 자릿수로 계산한 값이 출력된다. 예를 들어, 1~4의 합은 10이 되지만 10이상이 되므로 10이 아닌 1+0을 더한 값인 1이 출력되는 것이다.

1~5의 합도 15이지만 1과 5를 더한 6이 출력되었다.

 

 

드디어 100점 맞았다. 사실 처음 학습할 때는 미션 문제 모두 0점을 맞았지만 이제 100점이다! 정말 기쁘다.


 

 

 

 

학습을 마치고

이렇게 오늘 메소드 복습까지 모두 마쳤다. 이렇게 2번 학습을 진행하니 공부가 많이 되었다. 비록 영상을 시청하며 공부하느라 집중력은 좀 떨어졌지만 내일부터는 정말 꼭 끊고 공부에만 전념해보려고 한다.

이제 클래스 공부를 시작해도 될 것 같다.