본문 바로가기

분류 전체보기

(91)
백준 11724: 연결 요소의 개수 📃 문제: 백준 11724(연결 요소의 개수) 11724번: 연결 요소의 개수 첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선은 한 번만 주어 www.acmicpc.net 방향 없는 그래프가 주어졌을 때, 연결 요소 (Connected Component)의 개수를 구하는 프로그램을 작성하시오. *첫째 줄에 정점의 개수 N과 간선의 개수 M이 주어진다. (1 ≤ N ≤ 1,000, 0 ≤ M ≤ N×(N-1)/2) 둘째 줄부터 M개의 줄에 간선의 양 끝점 u와 v가 주어진다. (1 ≤ u, v ≤ N, u ≠ v) 같은 간선..
백준 11399: ATM 📃 문제: 백준 11659(구간합 구하기 5) 11399번: ATM 첫째 줄에 사람의 수 N(1 ≤ N ≤ 1,000)이 주어진다. 둘째 줄에는 각 사람이 돈을 인출하는데 걸리는 시간 Pi가 주어진다. (1 ≤ Pi ≤ 1,000) www.acmicpc.net 인하은행에는 ATM이 1대밖에 없다. 지금 이 ATM앞에 N명의 사람들이 줄을 서있다. 사람은 1번부터 N번까지 번호가 매겨져 있으며, i번 사람이 돈을 인출하는데 걸리는 시간은 Pi분이다. 사람들이 줄을 서는 순서에 따라서, 돈을 인출하는데 필요한 시간의 합이 달라지게 된다. 예를 들어, 총 5명이 있고, P1 = 3, P2 = 1, P3 = 4, P4 = 3, P5 = 2 인 경우를 생각해보자. [1, 2, 3, 4, 5] 순서로 줄을 선다면,..
백준 1337: 버블 소트 📃 문제: 백준 1377(버블소트) 1377번: 버블 소트 첫째 줄에 N이 주어진다. N은 500,000보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에 A[1]부터 A[N]까지 하나씩 주어진다. A에 들어있는 수는 1,000,000보다 작거나 같은 자연수 또는 0이다. www.acmicpc.net 버블 소트 알고리즘을 다음과 같이 C++로 작성했다. bool changed = false; for (int i=1; i> arr[i].first; arr[i].second = i; } //sort()함수 -> 기본적으로 arr.first값을 기준으로 정렬(->같을 경우 arr.second값 기준으로 정렬) int max = 0; sort(arr.begin(), arr.end()); for (int i ..
백준 11660: 구간합 구하기 5 📃 문제: 백준 11659(구간합 구하기 5) 11660번: 구간 합 구하기 5 첫째 줄에 표의 크기 N과 합을 구해야 하는 횟수 M이 주어진다. (1 ≤ N ≤ 1024, 1 ≤ M ≤ 100,000) 둘째 줄부터 N개의 줄에는 표에 채워져 있는 수가 1행부터 차례대로 주어진다. 다음 M개의 줄에는 네 www.acmicpc.net N×N개의 수가 N×N 크기의 표에 채워져 있다. (x1, y1)부터 (x2, y2)까지 합을 구하는 프로그램을 작성하시오. (x, y)는 x행 y열을 의미한다. 예를 들어, N = 4이고, 표가 아래와 같이 채워져 있는 경우를 살펴보자. 1 2 3 4 2 3 4 5 3 4 5 6 4 5 6 7 여기서 (2, 2)부터 (3, 4)까지 합을 구하면 3+4+5+4+5+6 = 27..
백준 11659: 구간합 구하기 4 📃 문제: 백준 11659(구간합 구하기 4) 수 N개가 주어졌을 때, i번째 수부터 j번째 수까지 합을 구하는 프로그램을 작성하시오. 11659번: 구간 합 구하기 4 첫째 줄에 수의 개수 N과 합을 구해야 하는 횟수 M이 주어진다. 둘째 줄에는 N개의 수가 주어진다. 수는 1,000보다 작거나 같은 자연수이다. 셋째 줄부터 M개의 줄에는 합을 구해야 하는 구간 i와 j www.acmicpc.net 🥈 난이도: 실버 3 😲 사용한 개념: 구간합 S[i] = S[i-1] + A[i] 구간합 배열을 미리 구해놓으면, 기존 배열의 일정 범위의 합을 구하는 시간 복잡도가 O(n) -> O(1)로 감소한다. 📖 풀이 사고 과정 👩‍💻 구현 코드 #define _CRT_SECURE_NO_WARNINGS #incl..
Spring - 정적 컨텐츠, MVC&템플릿 엔진, API 스프링 웹 개발 기초 개념 중 파일을 웹브라우저에 전달해주는 3가지 방식에 대해 정리해보았다. 📚목차📚 👉 1. 정적 컨텐츠 👉 2. MVC & 템플릿 엔진 👉 3. API 1. 정적 컨텐츠: 파일을 변환작업 없이 웹 브라우저에 전달해 주는 것. resources > static 폴더 하위에 원하는 파일을 넣으면, 정적파일이 그대로 반환이 됨. 단 여기에는 어떤 프로그래밍 통해 파일 변환을 수행할 수는 없음. https://www.baeldung.com/spring-mvc-static-resources 💻hello-spring.html💻 안녕하세요. 정적페이지 입니다. ✍ 정적 컨텐츠 동작과정 : 컨트롤러와 맵핑되는 게 없으면, resources > static으로 가서 맵핑되는 html파일을 찾아 렌더..
Spring 입문 - thymeleaf 템플릿 엔진 동작 -jdk 17 설치 -spring initializr에서 프로젝트 생성 (3.X 버전은 jdk 버전 17이상이어야 함.) intelliJ에서 프로젝트 열기(Gradle로 선택) *Gradle은 버전 설정하고 라이브러리 땡겨오는 것 ->build.gradle [라이브러리 살펴보기] Gradle, Maven같은 것들이 의존관계를 다 관리해줌. [정적 파일 동작 - 웹페이지 시작 화면] resources > static 폴더 밑에 index.html 파일 생성. index.html 파일은 웹페이지 시작화면에 로드되는 html파일이다. Hello hello "localhost:8080" 포트로 접속 시 index.html 파일이 렌더링된 페이지가 나옴. [프로그래밍 결과가 실행되는 화면 만들어보기] src > ..
React에서 typescript 사용하기 https://www.typescriptlang.org/ JavaScript With Syntax For Types. TypeScript extends JavaScript by adding types to the language. TypeScript speeds up your development experience by catching errors and providing fixes before you even run your code. www.typescriptlang.org typesrcipt는 개발자가 할 수 있는 사소한 실수들을 코드 실행 전에 잡아주는 유용한 도구이다. 맛보기로 살펴보자면, const plus = (a, b)=> a+b;라는 함수가 있을 때 number끼리만 더하고 싶을 경우,..