Day 10

강태훈·3일 전

nbcamp TIL

목록 보기
10/13

flowchart

  • 일을 처리하는 과정을 간단한 기호와 화살표로 도식화한 그림
  • 생각을 정리하고 제대로 표현하기 위한 방법

    플로우차트 도형

생각구조화

문제 이해:

입력/출력 정리

1) 입력:
2) 출력:
3) 상태 (계속 들고 있어야 하는 값) :

조건 정리

1) 종료 조건 (끝나는 시점):

2) 분기 조건 (갈라지는 기준):

3) 예외 / 에러 조건 (정상 범위):

흐름 설계

1) 시작할 때 한 번만:
___ = 0(초기값 설정)
2) 반복:
____를 입력받는다.
입력값이 __인지 확인한다.
- 예:
- 아니오:
3) 종료할 때:
___를 출력한다.
프로그램을 종료한다.

실습으로 만들어본 플로우차트

  • 플로우차트의 모든 경로는 '시작'에서 출발하여 '종료'까지 도달하여야한다.

ArrayList

  • 과제 중 배열의 크기를 동적으로 조절하기 위해 조사하였음

1. 특징

  • 일반 배열과 달리 크기가 늘어나고 줄어드는 동적인 배열
  • 객체만 저장가능 (기본형 X → Wrapper 사용)
  • 내부적으로 배열을 사용한다.
    - import java.util.ArrayList;
  • 길이는 length가 아니라 size()로 구함

2. 기본 코드

  • 선언: ArrayList<Integer> list = new ArrayList<>();
    - Integerint의 Wrapper 클래스
  • 값 추가:
    list.add(10); list.add(20); list.add(30);
  • 값 가져오기: int x = list.get(0); // 10 가져옴
  • 값 수정: list.set(1, 50); // index 1 → 50
  • 값 제거: list.remove(0); // index 0 삭제
  • 크기 확인: int size = list.size();
  • 전체 출력:
    for (int i = 0; i < list.size(); i++) {
        System.out.println(list.get(i));
    }
    			또는
    for (int n : list) {
        System.out.println(n);
    }

3. 내부 동작

  • 용량 초과 시:
    1) 더 큰 배열 생성
    2) 기존 데이터 복사
    3) 새 배열로 교체

4. 2차원 배열 구조

  • ArrayList에 2차원 문법은 없음
  • ArrayList 안에 ArrayList를 넣는 방식으로 사용가능
    ArrayList<ArrayList<Integer>>
  • 하지만 이번 과제에 열 크기까지 동적일 필요는 없으니 ArrayList 안에 String배열을 넣어 열 크기는 고정이나 행 크기는 입력에 따라 동적으로 변하는 2차원 행렬을 만들 수 있다.
  • 선언: ArrayList<String[]> list = new ArrayList<>();

0개의 댓글