목록2024/11 (7)
All :L
프리코스 4주차를 마치며... 마지막 편의점 미션에는 그동안 프리코스를 통해 익힌 다양한 기술을 하나의 프로그램에 모두 적용해 보았다.프리코스의 처음부터 끝까지 매일 새로운 문제에 직면하며 이를 해결하기 위한 과정을 통해 많은 기술적 성장을 이루었다. 처음에는 모든 과정이 복잡하고 낯설게 느껴졌지만, 프리코스를 진행하며 배운 내용을 바탕으로 차근차근 진행하면서 각 단계의 중요성을 이해할 수 있었다. 요구 사항을 명확히 정의하는 것부터 시작해, 이를 구현하는 과정에서의 중요성도 실감하게 되었다. 매일 설정한 목표를 하나씩 이루어가며 그때그때 배운 점과 경험이 하나의 큰 결과물로 이어지는 과정에서 많은 배움을 얻었다.https://github.com/jhw296/java-convenience-store-7-..
나무 재테크 (16235)1. 문제 분석문제 개요나무 재테크 문제는 N x N 크기의 땅에 나무를 심고, 주어진 조건에 따라 나무를 키워나가며, K년이 지난 후 살아남은 나무의 개수를 구하는 문제이다.계절에 따라 나무의 성장, 죽음, 번식, 그리고 땅의 양분이 추가되는 과정이 주어지며, 이를 시뮬레이션으로 해결해야 한다.입력 형식첫 번째 줄에는 N(땅의 크기), M(처음 심어진 나무의 개수), K(몇 년 후까지 볼 것인지) 주어진다.그다음 N개의 줄에 각 칸에 추가되는 양분의 양이 주어진다.그다음 M개의 줄에 나무의 위치와 나이 정보가 주어진다.출력 형식K년 후에 살아남은 나무의 개수를 출력한다.2. 알고리즘 종류시뮬레이션: 계절별로 주어진 규칙에 따라 나무의 상태를 변화시켜 시뮬레이션을 진행한다.우선순..
[테이블의 구성: 필드와 레코드]필드 타입필드타 타입 : 각 필드로 사용 가능한 데이터 유형 키키 : 테이블 내 특정 레코드를 식별할 수 있는 필드의 집합후보키 : 레코드를 식별하기 위한 필드의 최소 집합유일성과 최소성을 모두 만족하는 키복합키 : 두 필드 이상으로 구성된 후보 키슈퍼키 : 레코드를 식별하기 위한 필드의 집합유일성 만족, 최소성 만족 X기본키 : 레코드를 식별하도록 선정되어 테이블당 하나만 존재할 수 있는 키대체키 : 기본 키가 아닌 후보 키외래키 : 다른 테이블의 기본 키를 참조하는 필드, 테이블 간 참조 관계 형성시 사용하는 키[테이블의 관계]일대일 대응 관계하나의 레코드가 다른 테이블의 레코드 하나에만 대응되는 경우 일대다 대응 관계하나의 레코드가 다른 테이블의 여러 레코드와 대응되..
컨베이어 벨트 위의 로봇 (20055)1. 문제 분석문제 개요주어진 컨베이어 벨트 위에 로봇을 올리고, 로봇을 이동시키는 작업을 반복하면서 각 칸에 있는 내구도가 0이 되는 칸의 개수가 K개 이상이 될 때까지 반복을 수행한다. 각 단계에서 로봇을 이동시키고, 로봇을 올리며 내구도를 갱신하는 작업을 정확히 구현해야 한다.입력 형식첫 번째 줄에는 두 정수 N, K가 주어진다. N은 컨베이어 벨트의 반 개수, K는 내구도가 0인 칸이 되어야 하는 목표값이다.두 번째 줄에는 각 칸의 내구도가 주어진다. 각 칸의 내구도는 1 이상 100 이하의 자연수로 주어진다.출력 형식목표값 K에 도달할 때까지 진행된 단계를 출력한다. 즉, K개의 칸의 내구도가 0이 될 때까지의 횟수를 출력한다.2. 알고리즘 종류이 문제는 시..
프리코스 3주차를 마치며... 이번 로또 미션은 지난 미션에서 적극적으로 사용했던 OOP의 특징과 TDD를 더 활용해 볼 수 있었다.미션의 시작 단계에서는 여전히 클래스 구조와 메소드 세분화에 대한 고민이 많았다. 이전보다 더 많아진 기능을 어떻게 세분화해야 할지 고민이 되었다. MVC 패턴을 잘 사용하고 싶은데 아직 어려운 것 같아 더 힘들었다. 또한, 어떻게 하면 코드의 가독성을 더 높이고 유지보수를 용이하게 할 수 있을지에 대한 생각이 많았던 것 같다.https://github.com/jhw296/java-lotto-7/tree/hyewon GitHub - jhw296/java-lotto-7Contribute to jhw296/java-lotto-7 development by creating an ..
📒 노드스트림1️⃣ I/O와 StreamI/O → Input/Output데이터는 한쪽에서 주고 한쪽에서 받는 구조로 되어있음입력과 출력의 끝단 → 노드(node)두 노드를 연결하고 데이터를 전송할 수 있는 개념 → 스트림(stream)스트림은 단방향 통신만 가능하나의 스트림으로 입력과 출력을 같이 처리할 수 XNode Stream의 종류와 namingNode stream → node에 연결되는 스트림JAVA 노드 스트림 & 보조 스트림2️⃣ InputStream과 ReaderInputStream의 주요 메서드read() → 데이터 읽어서 반환public abstract int read() throws IOException → byte 한 개씩 읽음public int read(byte b[]) throw..