전체 글 101

여름방학 5주차 스프링 부트

자바와 sts설치스프링부트는 자바의 웹 프레임워크로 기존 스프링 프레임워크에 톰캣 서버를 내장하고 여러 편의 기능들을 추가하여 꾸준한 인기를 누리고 있음.웹 프로그램을 빠르게 만들어주는 웹 프레임 워크.웹에서 많이 사용되는 프레임워크를 만들기 위한 키트임.  스프링부트는 was가 필요가 없음스프링부트 대신 스프링을 이용한다면 웹 어플리케이션을 실행할 수 있는 톰캣같은 was가 필요함 하지만 스프링부트를 이용한다면 톰캣도 내장되어있고 설정도 자동적용되어 was를 생각하지 않아도 되어 편리함 배포되는 jar파일에도 톰캣 서버가 내장되어 다른 was로 인해 발생하는 문제도 없음 스프링부트는 자바로 만들어진 웹 프레임워크임 따라서 스프링부트 사용에는 자바 설치가 필수적 자바 22 버전 설치 완료  컴파일: 고급..

스프링부트 2024.08.04

18870

좌표 압축 첨엔 알고리즘의 find 함수를 썼는데 시간초과가 났다.. 흑흑 그 대신 unique라는 좋은 함수를 알아냈다..연속된 수 중 중복인 숫자는 하나를 제외하고 없앤다.꼭 연.속 된 숫자여야 한다!!처음에 지워버리는게 아니라 중복된 숫자를 배열의 맨 뒤로 보내고 뒤로 보낸 숫자중 첫 원소의 주소를 return 한다따라서 그 중복 숫자열을 지워주는 과정까지 해주면.. 완성이다 copy.erase(unique(copy.begin(), copy.end()), copy.end()); #include#include#include using namespace std;int binary_search(vector& num, int digit);int main() { cin.tie(NULL); cout.tie(N..

백준 문풀 2024.08.01

백준 6588

에라토스테네스의 체를 이용하여 풀어야겠다는 생각은 하였으나.. 계속해서 오류가 남.에라토스테네스의 체에서 홀수 부분만 이용하기 때문에 조건도 그에 맞춰서 홀수만 구해보고 별짓을 다해도 오류가 나길래 당황스러웠는데...사실 벡터를 사용하고 있어서 그런거였다.. 바로 배열을 사용해서 풀어주니 문제가 해결되었다. 벡터 배열은 그냥 인수로 넘겨주면 복사가 일어나서 시간초과가 일어나게된단다.. 새로운 사실.. ㅜㅜ벡터를 사랑하지만 상황에 맞게 써야겠다.....

백준 문풀 2024.07.31

자료구조 여름방학 4주차

섹션 9동적 계획법(DP, 다이나믹 프로그램)복잡한 문제를 여러개의 간단한 문제로 분리하여 해결하는 것 point..큰 문제를 작은 문제로 나눌 수 있어야함작은 문제들의 결과값이 항상 같아야함작은 문제들을 최초의 한번만 계산하고 DP 테이블에 저장다시 같은 작은 문제가 발생했을 때 다시 계산하는 것이 아니라 테이블에 저장 된 값을 활용 ex(피보나치 수열) a(n+3)=a(n+1)+a(n+2)수열을 구하기 위해 모든 값을 계산하는게 아니라 점화식을 이용하여 계산함동적 계획법으로 풀이할 수 있는가?== 작은 문제로 나눌 수 있나? 값이 항상 같은가? 6번째 피보나치 수열의 값은 5번쨰 피보나치 수열의 값+4번쨰 피보나치 수열의 값수열의 값은 항상 같음 동적 계획법으로 풀이 가능하고 수열의 값은 항상 같은 ..

1463

1 만들기  백준 문제 중에 제일 많이 틀린 것 같다 .. 이 문제를 이렇게 많이 푼 사람은 나밖에 없을 것,,, 시간초과 문제 때문에 배열에 저장을 해줘야겠다는 생각까지는 했는데,,처음에 그냥 int 일차원 배열을 쓰는데 크기가 10^6이라 배열이 그 크기까지 클 수 없었나봄. 그래서 vector배열을 써줬다2의 배수이면서 3의 배수인 경우를 생각을 못해서 4% 에서 틀림 떠서 우울했다.. 또 1일때 당연히 1일 줄 알았는데 0이더라. 당연함 제목부터가 1만들기임. 이 문제 푼사람 정말 많던데 나는 어려웠다 #include#include#includeusing namespace std;int main(void) { ios::sync_with_stdio(false); cin.tie(NULL); int n..

백준 문풀 2024.07.22

11051

java이항계수를 10007로 나눈 나머지를 구하는 프로그램 공백으로 나눠진 두 정수의 입력을 받기 위해 string tokenizer 클래스를 이용함string tokenizer는 문자를 토큰화시킨다고 보면된다공백 뿐 아니라 컴마, 특정 문자를 기준으로 분리할 수도 있다 공백을 기준으로 구분할 경우에는 StringTokenizer st = new StringTokenizer(문자열); 구분자가 따로 존재할 경우에는 StringTokenizer st = new StringTokenizer(문자열,구분자);  이렇게 구분된 두개의 토큰은 nextToken 함수를 이용하여 받을 수 있다. 파이썬에서 pop과 비슷한 기능인듯? 받은 토큰이 string타입이므로 paresInt를 이용해 int로 형변환을 시켜준..

백준 문풀 2024.07.22

java 스터디 여름방학 3주차

매서드동일한 구조의 기능을 여러개 구현하고자 할 떄 중복을 제거하기 위해 매서드(함수) 사용.수학에서 함수 개념을 차용해서 가져온 개념이다함수를 한번 정의해두면 재사용이 가능하다매서드는 함수의 한 유형이라 생각하면 된다 메서드 작성 방법  public static int 변수명 (파라미터 목록){           함수 내용...                                         } 매서드 선언과 매서드 본문으로 나눌 수 있음매개변수 목록에서는 매개변수들의 타입을 명시해준다 public: 다른 클래서에서 호출 가능한 매서드 라는 의미static: 객체를 생성하지 않고 호출 가능한 매서드라는 의미int: 반환 타입 정의add: 매서드의 이름. 이 이름으로 매서드를 호출 할 수 있다 매..

자료구조 여름방학 3주차

조합조합 자체로 코딩테스트에 많이 등장함점화식, 동적 계획법을 이해하는데 기초가 되는 내용임 순열: n개의 숫자에서 r개를 뽑아 나열하는 경우의 .조합: 순열과 다르게 순서를 고려하지 않음. 분모에 추가된 r!부분은 순서를 제거하는 역할.  조합의 점화식1. 특정 문제 가정    5개중에 3개 선택2. 모든 부분 문제가 해결된 상황이라 가정하고 지금 문제 생각    5를 선택했을 때->앞에서 2개의 수가 선택된 상황 4C2    5를 선택하지 않음-> 앞에서 3개의 수가 선택된 상황 4C3        따라서 5C3 = 4C3+4C23. 일반화 점화식 도출  백준 11051 이항계수: 이항식을 이항 정리로 전개했을 때 각 항의 계수이며, 주어진 크기의 (순서 없는) 조합의 가짓수이다.

백준 1485

java로 백준 제출할 때 패키지를 따로 넣지 않고 calss명을 Main 으로 작성할 것!  Scanner를 사용하려고 했지만 백준에서 시간 초과 가능성이 있다고 하여 buffer reader와 buffer writer를 사용해줌.scanner와 차이점은 입출력 숫자 버퍼에 저장 여부.사용법은 비슷해서 다르게 느껴지진 않았다. 입력받은 네 점이 정사각형이 될 수 있는지의 여부를 확인해야하는 문제. 일단 네 점을 입력받기 위해 4행 2열 짜리arr 이차원 배열을 선언해 4점의 x y좌표를 저장해 주었다.또한 length 배열을 선언하여 점 사이의 거리를 측정해 저장해주었다.네 점을 입력받아 구할 수 있는 거리의 수는 6가지이므로 length의 길이도 6으로 해주었다. 점사이 거리를 구하기 위해서 두 점사..

백준 문풀 2024.07.15