1. 사용자 지정타입타입이란 데이터의 형태나 종류다. int, String은 자바에서 기본으로 제공하는 타입이다. 하지만 경우에 따라서 임의의 타입을 지정해야되는 경우가 있다. 예를 들어 학생정보를 관리할 때 이름, 키, 성적을 한 묶음으로 관리하고자 할 때 타입을 정의하는 것이 좋다. 이때 학생을 본따 만든 데이터의 형태를 사용자 지정타입이라고 한다.2. 클래스와 객체사용자 지정타입을 만들기 위해 자바는 클래스를 제공한다. 사용자지정타입이 설계도이면 클래스는 설계도를 자바로 표현한 것이다. 클래스는 다음과 같다.public class Student { String name; int grade; int age;}class: 자바에게 클래스임을 알려주는 키워드다.Student: 클래스의 이..
UI 렌더링 로직 작성법리액트로 로직을 작성할 때 상태에 의존하는 방법과 로직을 하나씩 구현하는 방법이 있습니다. 전자가 선언형 프로그래밍, 후자가 명령형 프로그래밍입니다.선언형 프로그래밍에 의한 구현import React, { useState } from 'react';function Counter() { const [count, setCount] = useState(0); return ( Count: {count} setCount(count + 1)}>Increase );}export default Counter;무엇을 할 지에 초점상태(count)에 따라 UI 렌더링명령형 프로그래밍에 의한 구현 Count: 0 Increase어떻게 할 지 초점DOM을 직접..
요세푸스 문제란마지막 한명이 남을 때까지 규칙에 따라 자신들을 죽이는 문제다. 로마군이 패배 직전에 집단자살을 감행했을 때 살아남고 싶었던 요세푸스의 이름을 본따 만든 문제다.주어진 사람의 수에서 정해진 사람의 수가 뒤로 줄을 가게되고 그 후에 남은 사람이 자살한다.아이디어앞에서 사람들이 빠져서 뒤로 사람들이 줄을 서기 때문에 원형큐의 구조와 동일하다. 따라서 큐를 활용하여 문제를 푼다.구현while (q.Size() != 1) { for (int i = 0; i
문제의 의미미로찾기란 시작점에서 종료지점까지의 경로를 찾는 문제이다.아이디어시작지점에서 종료지점까지 가려면 현재지점에서 다음에 갈 수 있는 지점들을 탐색해야한다.그림에서 1은 벽으로 갈 수 없는 곳, X는 이미 지나온 곳, O는 갈 수 있는 곳이다. 현재지점이 종료지점인지 검사한 후, 아니라면 지나온 곳으로 표시하고 주변 지역들을 탐색할 곳으로 탐색리스트에 등록을 한다.탐색리스트에서 후보를 하나 꺼낸 후 종료지점인지, 종료지점이 아니라면 갈 수 있는 곳인지 여부를 확인하고 종료지점에 도달할 때까지 로직을 반복한다.설계while true 후리스트에서 후보 하나 꺼내기 if 종료지점 종료 if !벽 and !지나온 곳 지나온 곳 표시 주변 지역을 후보로 후보리스트에 등록후보리스트에 등록할 때 재귀호..