전체 글 49

[이코테] Chap 3. 그리디 (Greedy)

정의현재 상황에서 가장 좋아 보이는 것만을 선택하는 알고리즘탐욕적이다 == 현 상황에서 지금 당장 좋은 것만 고른다.현재의 선택이 나중에 미칠 영향에 대해서는 고려하지 않는다.코테 팁그리디 알고리즘 유형의 문제는 매우 다양하다.단순 암기로 모든 유형의 문제를 풀 수는 없다.그리디 알고리즘 유형의 문제는 창의력을 요구한다.특정한 문제를 만났을 때 단순히 현재 상황에서 가장 좋아 보이는 것만 선택해도 문제를 풀 수 있는지 파악할 수 있어야 한다.기준에 따라 좋은 것을 선택하는 알고리즘으로 아래와 같은 기준을 제시해주기도 한다.가장 큰 순서대로가장 작은 순서대로예제 3-2. 큰 수의 법칙문제시간 제한 : 1초메모리 제한 : 128MB'큰 수의 법칙'은 일반적으로 통계 분야에서 다루어지는 내용이지만 동빈이는 본..

[백준] 3009번 네 번째 점 - Python(파이썬)

https://www.acmicpc.net/problem/3009 3009번: 네 번째 점 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. www.acmicpc.net 문제 세 점이 주어졌을 때, 축에 평행한 직사각형을 만들기 위해서 필요한 네 번째 점을 찾는 프로그램을 작성하시오. 입력 세 점의 좌표가 한 줄에 하나씩 주어진다. 좌표는 1보다 크거나 같고, 1000보다 작거나 같은 정수이다. 출력 직사각형의 네 번째 점의 좌표를 출력한다. 예제 입력 1 5 5 5 7 7 5 예제 출력 1 7 7 예제 입력 2 30 20 10 10 10 20 예제 출력 2 30 10 풀이과정 점의 좌표를 세 번 입력받고, x좌표와 y좌표 각각 1번만 나온 값..

[백준] 11005번 진법 변환2 - Python(파이썬)

https://www.acmicpc.net/problem/11005 11005번: 진법 변환 2 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 문제 10진법 수 N이 주어진다. 이 수를 B진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다. A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35 입력 첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36) N은 10억보다 작거나 같은 자연수이다. 출력..

[백준] 2745번 진법 변환 - Python(파이썬)

https://www.acmicpc.net/problem/2745 2745번: 진법 변환 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 www.acmicpc.net 문제 B진법 수 N이 주어진다. 이 수를 10진법으로 바꿔 출력하는 프로그램을 작성하시오. 10진법을 넘어가는 진법은 숫자로 표시할 수 없는 자리가 있다. 이런 경우에는 다음과 같이 알파벳 대문자를 사용한다. A: 10, B: 11, ..., F: 15, ..., Y: 34, Z: 35 입력 첫째 줄에 N과 B가 주어진다. (2 ≤ B ≤ 36) B진법 수 N을 10진법으로 바꾸면, 항상 10억보다..

[스프링 입문] 스프링 웹 개발 기초

웹 개발 방식 3가지 정적 컨텐츠 MVC와 템플릿 엔진 API 📝 정적 컨텐츠 정적 컨텐츠 스프링 부트는 정적 컨텐츠 기능을 자동으로 제공한다. Spring Boot Features 정적 컨텐츠 hello-static.html 정적 컨텐츠 입니다. resources/static/hello-static.html 실행 http://localhost:8080/hello-static.html 정적 컨텐츠 동작 원리 스프링은 가장 먼저 controller에서 hello-static이 있는지 찾는다. 이때, controller가 먼저 우선순위를 갖는다 없으면 resources/static에서 hello-static을 찾는다. 📝 MVC와 템플릿 엔진 MVC Model, View, Controller 관심사 분리가 ..

IT/Spring 2023.07.24

[스프링 입문] 프로젝트 환경설정

📝 프로젝트 생성 스프링 부트 스타터를 이용해 스프링 프로젝트 생성한다. (https://start.spring.io/) IntelliJ Gradle 대신에 자바 직접 실행 최근 IntelliJ 버전은 Gradle을 통해서 실행 하는 것이 기본 설정인데, 이렇게 하면 실행 속도가 느리다. 아래와 같이 변경하면 자바로 바로 실행해서 실행 속도가 더 빠르다. 📝 라이브러리 살펴보기 Gradle이나 Maven 같은 빌드 툴은 의존관계를 관리한다.즉, 의존관계가 있는 라이브러리를 함께 다운로드 한다. 스프링 부트 라이브러리 spring-boot-starter-web spring-boot-starter-tomcat: 톰캣 (웹서버) spring-webmvc: 스프링 웹 MVC spring-boot-starter-..

IT/Spring 2023.07.24

[Spring] 김영한의 스프링 완전 정복 로드맵 커리큘럼

🔗 인프런 바로가기: https://www.inflearn.com/roadmaps/373 로드맵 코스 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 총 28개 수업 (5시간 21분) / 무료 강의 바로가기 스프링 핵심 원리 - 기본편 총 65개 수업 (12시간 5분) / 88,000원 강의 바로가기 모든 개발자를 위한 HTTP 웹 기본 지식 총 41개 수업 (5시간 40분) / 44,000원 강의 바로가기 스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술 총 72개 수업 (15시간 22분) / 99,000원 강의 바로가기 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 총 129개 수업 (21시간 5분) / 121,000원 강의 바로가기 스프링 DB 1편 - 데이터 접근 핵심..

IT/Spring 2023.07.24

[백준] 1193번 분수 찾기 - JAVA(자바)

https://www.acmicpc.net/problem/1193 1193번: 분수찾기 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. www.acmicpc.net 문제 무한히 큰 배열에 다음과 같이 분수들이 적혀있다. 이와 같이 나열된 분수들을 1/1 → 1/2 → 2/1 → 3/1 → 2/2 → … 과 같은 지그재그 순서로 차례대로 1번, 2번, 3번, 4번, 5번, … 분수라고 하자. X가 주어졌을 때, X번째 분수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 X(1 ≤ X ≤ 10,000,000)가 주어진다. 출력 첫째 줄에 분수를 출력한다. 예제 입력 7 예제 출력 1/4 풀이 과정 배열에서 지그재그 되는 대각선을 위와 같이 k번째 대각선이라고 나타낼 수 있다. n이 주어졌을 ..

[백준] 1110번 더하기 사이클 - JAVA(자바)

https://www.acmicpc.net/problem/1110 1110번: 더하기 사이클 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, www.acmicpc.net 문제 0보다 크거나 같고, 99보다 작거나 같은 정수가 주어질 때 다음과 같은 연산을 할 수 있다. 먼저 주어진 수가 10보다 작다면 앞에 0을 붙여 두 자리 수로 만들고, 각 자리의 숫자를 더한다. 그 다음, 주어진 수의 가장 오른쪽 자리 수와 앞에서 구한 합의 가장 오른쪽 자리 수를 이어 붙이면 새로운 수를 만들 수 있다. 다음 예를 보자. 26부터 시작한다. 2+6 = 8이다...

[IntelliJ] Module already exists 에러 해결 방법

개요 아래는 "C:\Work\JAVA\fastcampus" 위치에 "Chap4" 라는 이름의 새로운 모듈을 생성하고자 하는 상황이다. 그런데 "Module already exists" 라는 에러 메시지가 뜨면서 모듈이 생성되지 않는다. 이미 존재하는 이름이기 때문에 생성할 수 없다는 메시지이지만, 해당 경로를 확인해보면 Chap4라는 이름의 모듈은 없다. 즉, 분명 존재하지 않는 이름의 모듈인데 이미 존재하는 이름이라며 생성할 수 없다고 에러 메시지가 뜬 상황이다. 해결 방법 이를 해결하기 위해, 먼저 루트 프로젝트의 .idea 디렉토리의 modules.xml 파일로 들어간다. modules.xml 파일의 내용을 확인해보면 전에 만들었던 Chap4 모듈에 대한 정보들이 등록되어 있다. 이 정보들 때문에 ..

IT/IntelliJ 2023.01.15