본문 바로가기

전체 글

(119)
백준 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끼리만 더하고 싶을 경우,..
React에서 styled components 사용하기 https://styled-components.com/ styled-components CSS for the Age styled-components.com styled components는 css 페이지를 따로 만들지 않고, javascript 안에서 편하게 스타일을 적용할 수 있게 해준다. css가 적용된 컴포넌트를 사용자 정의 이름으로 생성해 코드의 가독성을 높여준다. styled-component 설치 명령어(in terminal) npm i styled-components styled-component 사용법 styled-component를 설치했으면, 사용할 페이지에 import 해줘야 한다. import styled from "styled-components"; 1. 스타일 적용된 태그 생성하..
11720(숫자의 합 구하기) 난이도: 브론즈5 N개의 숫자가 공백 없이 쓰여있을 때, 이 숫자를 모두 합해 출력하는 프로그램을 작성하는 문제. https://www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmicpc.net [풀이전략] 1. string으로, 공백 없이 쓰인 숫자를 입력받는다. 2. string을 한글자씩 char로 변환한다. 3. char를 int형으로 변환해 누적합을 구한다. [핵심 포인트] 아스키 코드에 대한 이해가 필요하다. * '0'의 아스키코드 = 48이므로 '0'-48=0, '1'-48=1, ... 이런식으로 char형 문자에 48을 빼면 원하는 숫자값 in..
Inflearn 9주차 - React 실행을 위한 Docker 실습 1. 도커란? 도커란 컨테이너를 사용해 응용 프로그램을 더 쉽게 만들고, 배포하고, 실행할 수 있도록 설계된 도구이다. 컨테이너 기반의 오픈소스 가상화 플랫폼이며 생태계이다. 도커를 쓰는 이유는, 어떤 프로그램을 다운 받는 과정을 간단하게 만들기 위해서다. 만약, 도커 없이 프로그램을 받아 실행한다면? Redis를 받는 과정을 통해 Docker 사용 유무에 따른 차이점을 살펴보자. Redis 홈페이지로 이동 -------> redis.io wget이 없기 때문에 redis installl시에 에러가 발생했다. 그럼 다시 wget을 설치하고, redis를 설치하고, 또 의존성 문제 등으로 다운에 실패하면 다시 부가적인 것들을 설치하고... 반복하다보면 굉장히 번거롭고 설치하는데 많은 어려움을 겪을 것이다...
백준 - 11723 백준 11723번(집합) 집합 add, remove, toggle, check 등의 연산을 수행하는 코드를 구현해야하는 문제이다. 문제에서 요구하는대로 기능을 구현하는 것 자체는 c++ vector, STL을 사용했기 때문에 쉬웠지만, 처음 작성한 코드로는 시간초과가 났었던 문제. 코드의 효율성을 개선하는게 통과의 관건이었다. #include #include #include #include #include using namespace std; void add(int num, vector &set) { //num이 vector에 존재하지 않는 경우 if (find(set.begin(), set.end(), num) == set.end()) { set.push_back(num); } } void remove..