구현
2. [Algorithm] 구현(시뮬레이션, 완전탐색)
2. [Algorithm] 구현(시뮬레이션, 완전탐색)
2023.03.06구현 나의 생각을 소스코드로 바꾸는 과정이다. 코딩 테스트를 풀기 위해서는 소스코드를 작성하는 과정은 필수 → 구현 문제는 모든 범위의 코딩 테스트 문제 유형을 포함하는 개념. 생각해낸 문제 해결 방법을 내가 원하는 프로그래밍 언어로 정확히 구현했을 때 비로소 정답 처리를 받을 수 있다. 이를 위해서는 해당 언어의 문법과 문제의 요구사항을 정확히 알고있어야 한다. 완전 탐색(Brute Force), 시뮬레이션 유형을 모두 구현 유형으로 묶어서 다루고 있다.(이코테 도서) 완전 탐색(Brute Force) : 모든 경우의 수를 주저 없이 다 계산하는 방법 시뮬레이션 : 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행하여 해결하는 방법 그렇다면, 어떠한 문제 유형이 구현하는데 까다로울까? ex) 알..
스프링 입문 - 회원 도메인과 리포지토리 만들기
스프링 입문 - 회원 도메인과 리포지토리 만들기
2022.05.17hello.hellospring.domain이라는 이름으로 새로운 패키지를 생성했다. 그리고 domain 패키지에 Member라는 이름의 클래스를 생성했다. 여기서 id는 임의의 값인데, 데이터 베이스든 데이터에 저장할 때 사용하는 단순 시퀀스로 정해지는 임의의 값이다. 고객이 정하는 id가 아니라 데이터를 구분하기 위해서 시스템이 저장하는 id값이다. 그리고 name은 이름이다. getter, setter를 만들어 준다. 그리고 이번에는 회원 리포지토리 인터페이스를 만들자. 먼저, 패키지를 만들자. 이름은 hello.hellospring.repository로 생성했다. 그리고, MemberRepository 라는 이름의 인터페이스를 만들었다. 기능을 만들 것인데, save를 만든다. 회원을 저장하면, ..
인터페이스의 선언, 상속, 구현
인터페이스의 선언, 상속, 구현
2022.04.06인터페이스 (interface) 추상 메서드의 집합 (프로그래밍 관점) 구현된 것이 전혀 없는 설계도. 껍데기(모든 멤버가 public) 인터페이스의 정의는, 일반적인 관점에서의 정의, 프로그래밍적 관점에서의 정의로 나눌 수 있는데, 이번시간에는 프로그래밍 관점에서의 인터페이스에 대해 생각해보자. 인터페이스는, 추상메서드의 집합이다. 사실은, 추상 메서드 외에도, static메서드, 상속, default메서드 인터페이스의 요소인데, 이것들은 부수적인 것이다. 핵심이 아니다. 추상 메서드가 인터페이스의 본질이자 핵심이다. 즉, 인터페이스는 추상메서드 집합이므로, 구현된 것이 전혀 없는 설계도이자 껍데기이다. 인터페이스의 모든 멤버는 public이다. 객체지향 개념 책들을 보면, 이런 그림이 많이 나온다. ..
[이코테] Chapter4-3 / 게임 개발
[이코테] Chapter4-3 / 게임 개발
2022.02.09현민이는 게임 캐릭터가 맵 안에서 움직이는 시스템을 개발 중이다. 캐릭터가 있는 장소는 1 * 1 크기의 정사각형으로 이뤄진 N * M 크기의 직사각형으로, 각각의 칸은 육지 또는 바다이다. 캐릭터는 동서남북 중 한 곳을 바라본다. 맵의 각 칸은 (A, B)로 나타낼 수 있고, A는 북쪽으로부터 떨어진 칸의 개수, B는 서쪽으로부터 멀어진 칸의 개수이다. 캐릭터는 상하좌우로 움직일 수 있고, 바다로 되어 있는 공간에는 갈 수 없다. 캐릭터의 움직임을 설정하기 위해 정해 놓은 매뉴얼은 다음과 같다. 현재 위치에서 현재 방향을 기준으로 왼쪽 방향(반시계 방향으로 90도 회전한 방향)부터 차례대로 갈 곳을 정한다. 캐릭터의 바로 왼쪽 방향에 아직 가보지 않은 칸이 존재한다면, 왼쪽 방향으로 회전한 다음 왼쪽으..