한화시스템 23기 4주차 회고

hoony·2025년 12월 14일

한화시스템 23기

목록 보기
3/12

📚 이번주엔 뭘 배웠지?

이번 주는 자바의 기초를 아주 넓게 훑은 한 주였다.
입력·출력, 변수와 자료형, 연산자, 조건문, 반복문까지 흐름 제어를 익혔고,
실제로 많이 쓰이는 기본 자료구조들의 용도와 차이를 정리했다.

  • 배열(Array): 크기가 고정, 인덱스로 바로 접근가능, 가장 단순하고 빠른 구조
  • 리스트(List): 크기가 유동적이라 데이터 추가·삭제가 잦은 상황에 적합
  • 맵(Map): 키-값 구조로 데이터를 관리하며, 특정 값을 빠르게 찾는 데 유리
  • 집합(Set): 데이터의 중복을 허용하지않는 구조

특히 인상 깊었던 건

  • Scanner vs BufferedReader 차이
    -> 같은 입력인데도 내부 방식에 따라 속도 차이가 크게 난다
  • 기본형과 참조형의 메모리 구조
    -> 값이 전달되는 게 아니라 참조가 전달될 수 있다
  • String의 동작 방식과 정규표현식
  • 배열과 리스트의 차이, 정렬과 탐색(이분 탐색)
  • 자료구조의 특징마다 다른 시간복잡도의 중요성

일관성이 없는 자바의 문법도 중요하지만,
“왜 이렇게 동작하는지”를 이해하려고 많이 고민했던 주였다.

👊 어떤 문제점이 있었지?

배운 내용이 한꺼번에 쏟아지다 보니
코드는 쓸 수 있는데 설명하려면 막히는 순간이 자주 왔다.
(배운내용을 코드로 바로 쓰는것도 안되는 경우가 종종 있었다...)

특히 Map의 get(), KeySet() 등의 함수를 활용하는 코딩문제 해결을 잘 하지 못했었다.
반복문 안에서 변수 범위, break·continue 흐름도 헷갈리는 문제도 있었다.
또, 예제는 이해되는데 조금만 변형되면 바로 막히는 느낌도 들었다.

그래서 Map과 list를 활용하여 최빈값구하는 문제, 수 찾기 문제 등 해결해보고
break는 가장 가까운 반복문을 빠져나가는것을 확인해서 프린터큐 문제를 해결해보았다.

🙏 무엇을 깨달았고, 어떤 생각이 들었지?

자바는 “외워서 쓰는 언어”가 아니라
구조를 반드시 이해해야만 되는 언어라는 걸 확실히 느꼈다.

특히 메모리(스택/힙), 자료형, 참조 개념을 이해하니까
이전에 헷갈리던 코드들이 하나씩 설명되기 시작했다.

또한 코딩테스트대비로 풀었던 문제들이 하나씩 다르게 보이기 시작했다.
풀이법도 다르고 왜 이 문제를 Map으로 접근하는지 Set으로 접근하는지 등
자료구조를 선택하는 부분에서 이해되는 단계가 하나씩 늘어났다.

😄 결과적으로, 현재 나의 상태는?

아직 능숙하다고 하기는 어렵지만, 자료구조의 특징에 대해 조금씩 깨닫고 있는 중이다. 코딩테스트문제를 풀면서도 정리를 했지만, 강사님의 수업을 토대로 다시 정리를 하니 개념이 정립 되어가는 중이다.

👨‍🚀 앞으로 어떻게 하는게 좋을까?

문제 풀이 중심으로 반복해서 쓰고
배열, 리스트, 맵, 집합을 활용하는 문제를 많이 풀고
코드 한 줄 한 줄을 말로 설명하는 연습을 계속하는 게 좋겠다.

조급해하지 말고 기초를 단단하게 다지는 흐름을 유지하는 게 목표다.

profile
코딩정복하자

0개의 댓글