본문 바로가기

분류 전체보기104

[C++]백준 17182번 : 우주탐사선 https://www.acmicpc.net/problem/17182 17182번: 우주 탐사선 우주 탐사선 ana호는 어떤 행성계를 탐사하기 위해 발사된다. 모든 행성을 탐사하는데 걸리는 최소 시간을 계산하려 한다. 입력으로는 ana호가 탐색할 행성의 개수와 ana호가 발사되는 행성의 위 www.acmicpc.net 1. 접근 K행성에서 모든 행성을 방문하는 최단비용을 계산해야하므로 플로이드-와샬 알고리즘을 통해 모든 행성 간의 최단거리를 구한 후, dfs로 전체방문 최소비용을 구한다. #include #include #include #include #include using namespace std; int N, K; int w[10][10]; int chk[10], ans = INT_MAX; void.. 2021. 8. 29.
[C++]백준 14466번 : 소가 길을 건너간 이유 https://www.acmicpc.net/problem/14466 14466번: 소가 길을 건너간 이유 6 첫 줄에 N, K, R이 주어진다. 다음 R줄에는 한 줄에 하나씩 길이 주어진다. 길은 상하좌우로 인접한 두 목초지를 잇고, r c r′ c′의 형태 (행, 열, 행, 열)로 주어진다. 각 수는 1 이상 N 이하이다. www.acmicpc.net 1. 접근 : 단순 BFS 원리만 사용해서 성공은 했지만 메모리와 싱행시간이 너무 컸다. 한 마리씩 BFS 돌면서 못 만난 마릿수를 최종결과 값에 더해주고 해당 기준 소는 다음 경우에서 제외 (즉 i번째로 기준 잡은 소는 (K-i)만큼의 소와의 경우를 check, 마지막 소는 check 안해도 된다.) #include #include #include us.. 2021. 8. 28.
[C++]백준 15591번: MooTube(Silver) https://www.acmicpc.net/problem/15591 15591번: MooTube (Silver) 농부 존은 1번 동영상과 2번 동영상이 USADO 3을 가지고, 2번 동영상과 3번 동영상이 USADO 2를 가지고, 2번 동영상과 4번 동영상이 USADO 4를 가진다고 했다. 이것에 기반해서 1번 동영상과 3번 동영상의 www.acmicpc.net 1. 접근 "좀 더 쉽게 말해서, 존은 N-1개의 동영상 쌍을 골라서 어떤 동영상에서 다른 동영상으로 가는 경로가 반드시 하나 존재하도록 했다." 에서 스패닝트리를 쓰는건가 생각해봤지만 그냥 기알고리즘 적용한다기보다 문제에 맞춰 로직을 짜면 됐다. 2. 풀이 스패닝트리 특징을 생각하며 로직을 짜긴했다. 모두 이어져있으니 USADO를 구할 때 Vi.. 2021. 8. 22.
[SPRING] 웹 개발 개론 1. 구성요소 - URI : 리소스 식별자 - HTTP : 어플리케이션 컨트롤 - HTML : 하이퍼미디어포맷 2. REST : respresentational state transfer - client, server : 의 분리 - stateless : 클라이언트의 상태를 서버에 저장하지 않는다 - cache : 클라이언트는 서버의 응답을 cache할 수 있어야 한다 - 계층화 : 서버와 클라이언트 사이에 방화벽, 게이트웨이, proxy등의 계층 구성 - 인터페이스의 일관성 : 서버와 클라이언트가 독립적으로 개선 가능해야함 등이 지켜지면 RESTful 혹은 REST API라고 한다 3. URI 설계 패턴 - URI : 인터넷에서 특정 자원을 나타내는 주소값(유일) - URL : 인터넷상에서 특정 파일이.. 2021. 8. 16.
[SPRING] 객체지향 1. 객체지향 - 특징 : 추상화, 상속, 은닉, 재사용, 인터페이스 - 객체 object, 행위 method, 변수 variable - 객체의 3요소 : 상태유지, 기능제공, 고유 식별자 제공 - 물리객체 : 실제 사물을 클래스로 구현한 것 - 개념객체 : 비스니스로직을 처리하는 클래스 2. 객체지향 4대 특성 - 캡슐화 : 객체의 속성을 보호하기 위해 - 상속 : 하위로 내려갈수록 구체화 - 다형성 : 하나의 객체가 여러 형태로 변형, 오버라이딩을 통해 실현 - 추상화 : 모델링이라고도 하며 다형성, 상속은 추상화에 속한다 3. 객체지향 설계 5원칙 SOLID - Single responsibility principle - Open closed principle : interface를 두어 실현 - .. 2021. 8. 16.
[SPRING] 계속 추가되는 스프링 관련 정리 1. Gradle 1) 컴파일, 링크, 빌드 - 컴파일 : 컴파일러가 소스코드를 바이너리 코드로 변환하는 과정, 목적파일이 생성됨 자바의 경우는 JVM에서 실행가능한 바이트코드 형태의 클래스파일이 생성 - 링크 : 분리된 소스파일들을 컴파일한 목적파일들에서 '최종 실행가능한 파일'을 만들기 위해 필요한 부분을 연결해주는 작업 - 빌드 : 소스코드 파일을 실행가능한 소프트웨어 산출물로 만드는 과정 컴파일은 빌드에 포함된다. 2) 빌드툴 : Ant, Maven, Gradle 2. JPA(Java Persistence API) : 자바 진영의 ORM 기술 표준으로, 인터페이스의 모음 - 동작 : APP과 JDBC 사이에서 동작 개발자가 JPA를 사용하면, JPA 내부에서 JDBC API를 사용하여 SQL을 호.. 2021. 8. 10.
[Spring] CRUD블로그 : 개발환경 1. Eclipse : IDE 2020-09 ver 2. Oracle : DB oracle 11g ver 설치경로 : C:\app oracle SQL developer 19.2.1 ver 3. JDK : 자바개발툴(JRE, JVM 포함) 1.8.0_271(version 8) ver 경로(환경변수) : C:\Program Files\Java\jdk1.8.0_201 4. apache tomcat : WAS 8.5.57 ver dupont3031.tistory.com/entry/Tomcat-%EB%B2%84%EC%A0%84-%ED%99%95%EC%9D%B8-%EB%B0%A9%EB%B2%95 Tomcat 버전 확인 방법 1. 톰캣이 설치된 경로로 이동(lib까지) cd /usr/local/tomcat/lib 위.. 2021. 1. 25.
[JAVA] JAVA I/O, 객체의 직렬화 1. JAVA I/O 1) 개요 - JAVA는 byte와 char 그리고 추가적으로 String 단위로 입력과 출력이 이루어진다. 단위 abstract class(최상위 클래스) 하위 클래스 byte InputStream, OutputStream FileInputStream, ObjectInputStream, FileOutputStream, ObjectOutputStream... char, String Reader, Writer FileReader, BufferedReader, FileWriter, PrintWriter... - 표준입/출력은 각각 키보드와 모니터로 대응되는 Method는 System.in과 System.out이다. 즉, 표준입력 : 표준출력 = 키보드 : 모니터 = System.in :.. 2021. 1. 18.
[JAVA] Exception 1. Exception(예외) 비정상종료를 야기하는 의도치 않은 문제 따라서 예외 처리로 실행문이 계속 실행되도록 처리해야한다. 1) Exception class 자바에서는 실행(Run Time)시 발생할 수 있는 오류를 에러(Error)와 예외(Exception) 두가지로 구분한다. Error 프로그램 코드에 의해서 수습될 수 없는 심각한 오류(해결불가) Error, RunTimeException class를 포함한 자손 클래스들이 이에 해당한다 예외가 발생하면 안되는 코드이기 때문에 개발자가 반드시 if문으로 체크했어야 하는 코드이다. 따라서 try-catch문을 이용하지 않는다. Exception 프로그램 코드에 의해서 수습될 수 있는 다소 약한 오류(해결가능) RunTimeException을 제외.. 2021. 1. 18.