문제 출처: https://www.acmicpc.net/problem/18405 나의 접근법 위 문제는 이것이 코딩테스트다 with 파이썬 에 수록된 문제입니다. 먼저 답을 읽지 않고 제 스스로 풀어보려고 노력했습니다. 바이러스의 위치를 x,y좌표로 기억하여 번호 마다 리스트에 저장하였습니다. 그리고 시간 S 만큼 반복하여 바이러스를 퍼뜨렸...
백준 14502 연구소 (python)
문제 출처: https://www.acmicpc.net/problem/14502 깊은 복사와 얕은 복사 파이썬에서는 리스트를 크게 얕은 복사와 깊은 복사 2가지로 복사하고 있습니다. 얕은 복사 객체의 주소값을 복사하는 경우입니다. 대입 연산자 (‘=’) 를 사용해서 리스트를 다른 리스트에 대입하는 방식입니다. 변형(mu...
스프링 입문 13 - 4.회원 관리 예제 - 백엔드 개발 (5)
회원 서비스 테스트 이전시간에 만든 회원 서비스를 테스트 해보겠습니다. 이번시간에는 지난 번 테스트 케이스를 작성하는 것과 달리 MemberService 안에서 바로 테스트를 진행할 수 있습니다. MemberService를 선택 > Alt + Enter > Create Test > 멤버 모두 체크 이렇게 하면 자동으로 Tes...
스프링 입문 12 - 4.회원 관리 예제 - 백엔드 개발 (4)
회원 서비스 개발 회원 리포지토리와 도메인을 활용해서 실제 비즈니스 로직을 작성하는 단계입니다. 서비스 클래스는 비즈니스에 가까운 이름으로 지어야 개발자와 기획자 모두 로직을 쉽게 파악할 수 있습니다. 회원가입 기능 /** 회원가입 **/ public Long join(Member member){ // 조건: 같은 이름을 ...
스프링 입문 11 - 4.회원 관리 예제 - 백엔드 개발 (3)
회원 리포지토리 테스트 케이스 작성 테스트 케이스란? 이전 시간에 작성한 MemberRepository 인터페이스, MemoryMemberRepository 등이 제대로 작동하는지 코드로 검증하는 방법으로 개발한 기능을 실행해서 테스트 할 때 자바의 main 메서드를 통해서 실행하거나, 웹 애플리케이션의 컨트롤러를 통해서 해당 기능을 실행합니다. ...
스프링 입문 10 - 4.회원 관리 예제 - 백엔드 개발 (2)
회원 도메인과 리포지토리 만들기 회원 객체 생성 Hello.Hellospring 패키지에 domain이라는 패키지를 생성합니다. Member라는 클래스를 생성하고 id, name 이라는 변수를 선언합니다. 여기서 id는 사용자가 입력한 id가 아닌 시스템이 회원을 구분하지 위한 고유의 id 값입니다. 그 후 getter, setter 객체...
스프링 입문 9 - 4.회원 관리 예제 - 백엔드 개발 (1)
비즈니스 요구사항 정리 데이터: 회원 ID, 이름 기능: 회원 등록, 조회 이번 백엔드 개발은 자바 스프링의 생태계를 배우기 위한 것이라서 매우 단순하게 요구사항을 정하였습니다. 일반적인 웹 어플리케이션 계층 구조 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현되어있습니다. 예시 ...
스프링 입문 8 - 3.스프링 웹 개발 기초 - API
정적 컨텐츠를 제외하면 크게 MVC 방식에서 view를 찾아서 템플릿 엔진을 통해서 화면을 렌더링 하여 HTML을 웹 브라우저에 넘기는 방식과 API 방식이 있습니다. 오늘은 API 방식을 알아보도록 하겠습니다. API HelloController 클래스에 다음과 같은 메소드를 새로 추가합니다. @Controller public class Hel...
Algorithm 3.DFS/BFS
탐색 (Search) 많은 양의 데이터 중에서 원하는 데이터를 찾는 과정으로 그래프, 트리등의 자료구조 안에서 탐색이라는 과정을 사용합니다. 대표적인 탐색 알고리즘으로는 DFS, BFS이 있습니다. 이러한 탐색 알고리즘을 사용하기 위해서는 스택(Stack)과 큐(Queue)라는 자료구조를 사용합니다. 자료구조: 데이터를 표현하고 관리하고 처리하기 ...
백준 2873 롤러코스터 (python)
문제 출처: https://www.acmicpc.net/problem/2873 처음 생각한 접근법 R행 C열 크기의 직사각형을 모눈종이에 그려보고 최대한 많은 경로를 이동하는 방법을 생각했습니다. 여러가지 경우의 수를 생각하다 보니 몇 가지 패턴이 보였습니다. 먼저 R 또는 C 가 홀수일 경우 모든 경로를 탐색 할 수 있었습니다. 즉 ...