전체 글

😼 Github : https://github.com/Mingyum-Kim
Algorithm/Baekjoon

[백준]2606 바이러스 C++ 문제 풀이

문제 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터까지 전파되어 2, 3, 5, 6 네 대의 컴퓨터는 웜 바이러스에 걸리게 된다. 하지만 4번과 7번 컴퓨터는 1번 컴퓨터와 네트워크상에서 연결되어 있지 않기 때문에 영향을 받지 않는다. 어느 날 1번 컴퓨터가 웜 바이러스에 걸렸다. 컴퓨터의 수와 네트워크 상에서 서로 연결되어 있는 정보가 주어질 때, 1번 컴퓨터를 통해 웜 바이러스에 걸리게 되는 컴퓨터의 수..

Langauge/C++

C++ 벡터(vector) 사용법 정리

1. vector가 무엇인가요? : 자동으로 메모리가 할당되는 배열 2. vector의 사용법 #include 헤더파일 추가하기 비어있는 int형 vector v 생성하기 : vector v; 기본값(0)으로 설정된 5개의 원소를 가지는 vector v 생성하기 : vector v(5); 2로 초기화 된 5개의 원소를 가지는 vector v 생성하기 : vector v(5,2); v1 벡터를 복사한 v2 vector 생성하기 : vector v2(v1); 3. vector의 멤버함수 2의 값으로 5개의 원소 할당 : v.assign(5,2); idx번째 원소를 참조 : v.at(idx); idx번째 원소를 참조, 범위를 점검하지 않아 속도가 빠름 : v[idx]; 첫번째 원소를 참조 : v.front()..

Algorithm

그래프 알고리즘 (Graph Algorithm) 기초

Graph란? : 노드와 엣지(정점과 간선)으로 이루어진 자료구조를 의미한다. 그래프 알고리즘을 이용해, 매트릭스나 연결 리스트로 문제에서 주어진 노드들의 관계를 표현한다. 그래프의 탐색 기법은 4가지로 나뉠 수 있다. 1. BFS 탐색 : 현재 정점과 연결된 정점들을 우선적으로 넓게 탐색! 큐(Queue)를 이용해서 구현, 즉 방문한 노드들을 차례로 저장한 후 꺼낼 수 있도록 한다. >큐가 뭐죠? 더보기 큐(Queue) : 컴퓨터의 기본적인 자료 구조 중 하나로, First in first out 구조로 데이터를 저장한다. 스택과 반대개념 이진 트리의 level order과 동일 chanhuiseok.github.io/posts/ds-2/ 자료구조 - 이진 트리의 Level order traversal..

Framework/Spring

스프링 관련 의문점 다루기

Q. GamjaApplication을 실행하였을때 동일한 폴더의 HelloController가 실행되는 원리는 무엇일까? package com.gamja.gamja; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class GamjaApplication { public static void main(String[] args) { SpringApplication.run(GamjaApplication.class, args); } } GamjaApplication.java 를 이렇게 작성하고..

Framework/Spring

스프링 복습 및 기초 다지기

kyuhyuk.kr/category/spring-boot.html Category : Spring Boot Category : Spring Boot [Spring Boot] 게시판 구현 하기 (4) - 파일 업로드 & 다운로드 Jul 22, 2020 앞의 글에서 글을 수정하고 삭제하는 기능을 만들었습니다.이번 시간에는 파일을 업로드하고 다운로드하는 kyuhyuk.kr package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.web.bind.annotatio..

Framework/Spring

인프런 스프링 입문 강의 #JPA

JPA란? : (Java Persistence API) ORM(Object Relational Mapping)의 기술 표준, 인터페이스의 모음이다. ORM에 대한 자바 API의 규격이며 Hiberate, OpenJAP등이 JPA의 구현체이다. 데이터베이스를 객체지향적으로 관리할 수 있다. implementation 'org.springframework.boot:spring_boot-starter-data-jpa' build.gradle에 다음 코드를 추가해주고 spring.datasource.url=jdbc:h2:tcp://localhost/~/test spring.datasource.driver-class-name=org.h2.Driver spring.jpa.show-sql=true spring.jpa..

Framework/Spring

인프런 스프링 입문 강의 #백엔드 개발

1. 비즈니스 요구사항 정리 데이터 : 회원ID, 이름 기능 : 회원 등록 + 조회 컨트롤러 : 웹 MVC의 컨트롤러 역할 서비스 : 핵심 비지니스 로직 구현 도메인 : 회원, 주문 쿠폰처럼 데이터 베이스에 저장되고 관리되는 비즈니스 도메인 객체 리포지토리 : 이 비즈니스 도메인 객체를 DB에 저장하고 관리 인터페이스는 추후 데이터 저장소가 선정되었을 경우 구현 클래스를 변경하기 위해 설계 - MVC(Model, View, Controller) : 소프트웨어 디자인 패턴이다. 백그라운드에서 동작하는 로직을 처리하는 Model, 사용자가 보게 될 화면을 출력하는 View, 사용자의 입력 처리와 흐름을 제어하는 Controller로 구성된다. 모델1 : 사용자의 요청을 JSP가 전부 다 처리한다. jsp란 ..

Langauge/Java

Java1 생활코딩 강의 Write-up

https://youtu.be/-dPXqgWQBGE 1. 데이터 타입 public class Datatype{ public static void main(String[] args) { System.out.println(6); //number System.out.println("six"); //string System.out.println("6"); //String 6 System.out.println(6 + 6); //12 System.out.println("6" + "6"); //66 System.out.println(6 * 6); //36 //System.out.println("6"*"6"); System.out.println("1111".length()); //4 //System.out.printl..

Framework/Spring

인프런 스프링 입문 강의 #데이터베이스

스프링 DB접근 기술을 배워보자. ​ 먼저 H2 데이터베이스를 생성하자. https://atoz-develop.tistory.com/entry/H2-Database-%EC%84%A4%EC%B9%98-%EC%84%9C%EB%B2%84-%EC%8B%A4%ED%96%89-%EC%A0%91%EC%86%8D-%EB%B0%A9%EB%B2%95 H2 Database 설치, 서버 실행, 접속 방법 (Windows, MacOS) H2 Database 설치, 서버 실행, 접속 방법 (Windows, MacOS) H2 데이터베이스는 설치가 필요 없고 용량이 매우 가벼우며 웹용 콘솔(쿼리툴)을 제공하여 개발용 로컬 DB로 사용하기 좋은 데이터베이스이 atoz-develop.tistory.com 타 블로그에서 퍼온 H2 데이터..

MINGYUM
코딩하는 겸