전체 글 127

[코딩테스트 연습] 수열과 구간쿼리2 - Lv.0

수열과 구간쿼리 2 import java.util.Arrays; class Solution { public int[] solution(int[] arr, int[][] queries) { int len = queries.length; int[] answer = new int[len]; Arrays.fill(answer, -1); for(int i = 0; i < len; i++) { int s = queries[i][0]; int e = queries[i][1]; int k = queries[i][2]; for(int j = s; j k) { answer[i] = answer[i] == -1 ? arr[j] : Math.min(arr[j], answer[i]); } } } return answer; } ..

프로그래머스 2023.05.06

[코딩테스트 연습] 문자열 겹쳐쓰기 - Lv.0

코드 class Solution { public String solution(String my_string, String overwrite_string, int s) { String answer = ""; for(int i = 0; i < my_string.length(); i++){ if(i == s){ answer += overwrite_string; i += overwrite_string.length() - 1; } else { answer += my_string.charAt(i); } } return answer; } } 문제 풀이 for 문을 사용하여 s번째 문자를 탐색 i == s 조건식을 만족하면 overwrite_string 문자열을 answer에 더해주고 조건식을 만족하지 않을 경우 my..

프로그래머스 2023.05.04

어노테이션(Annotation) 정리

Annotation은 클래스와 메서드에 추가해 사용하며, 다양한 기능을 부여합니다. Annotation을 사용하여 해당 클래스가 어떤 역할을 하는지 정합니다. 이 글에서는 다양한 Annotation에 대해 정리해보려 합니다. @Controller @GetMapping @RequestParam @ResponseBody: 자바 객체를 HTTP 응답 본문의 객체로 변환하여 클라이언트로 전송 @RequestBody: HTTP 요청 본문에 담긴 값들을 자바객체로 변환시켜, 객체에 저장 @Test @Override @Transactional -> 해당 어노테이션은 데이터베이스 트랜잭션을 지원하고 관리하기 위해 사용된다. 1. 트랜잭션 관리: JPA가 트랜잭션을 자동으로 시작하고 종료한다. 때문에 개발자가 직접 트랜..

Back-end/Spring 2023.04.20

[Spring] 오류 목록

1. thymeleaf 오류 WARN 14128 --- [ main] ion$DefaultTemplateResolverConfiguration : Cannot find template location: classpath:/templates/ (please add some templates, check your Thymeleaf configuration, or set spring.thymeleaf.check-template-location=false) 클래스 실행할 때 WERN이 뜨길래 확인해 봤다. template 폴더 아래 index.html (Welcome Page)를 추가해 주니 해결되었다. 2. SQL 구문 오류 jakarta.persistence.PersistenceException: Conve..

Back-end/Spring 2023.04.18

[Spring] 빌드하기 + 실행하기

명령 프롬프트(cmd)로 빌드하기 cmd 실행 후 spring boot 프로젝트가 저장된 경로로 접근한다. (파일 이름이 hello-spring라고 가정) gradlew 입력 후 엔터키를 누르면 빌드 파일이 생성된다. (윈도우의 경우만 gradlew을 입력하면 됨) 생성된 build 파일로 들어간다. (dir로 확인 후, cd build ) build 파일 안에 libs 파일로 들어간다. (cd libs) lib파일의 파일 목록을 보면 확장자가 .jar인 파일이 들어있다. (hello-spring-0.0.1-SNAPSHOT.jar) java -jar hello-spring-0.0.1-SNAPSHOT.jar 실행 위의 화면이 뜨면 빌드와 실행이 잘 된 것이다. 만약 빌드나 실행이 잘 되지 않는다면 버전 호..

Back-end/Spring 2023.04.12

[Spring] 프로젝트 생성 및 기본 설정

이 글은 인프런 김영한 강사님의 스프링 입문 강의를 참고하여 쓴 글입니다. 프로젝트 생성 https://start.spring.io/ Spring Boot 버전은 3.0.5, Java 버전은 17을 선택했다. 기본 라이브러리로는 Spring Web, Thymeleaf를 추가하여 프로젝트를 생성했다. 기본 라이브러리를 설치하면 의존관계에 있는 라이브러리들도 같이 설치된다. 생성된 프로젝트를 실행하여 build.gradle 파일을 확인해 보면 spring boot 버전과 java 버전, 설치된 라이브러리 등을 볼 수 있다. Welcome Page src/main/resources/static 파일에 index.html을 추가하여 static파일은 말 그대로 정적 파일이므로 주로 welcome page(시작화..

Back-end/Spring 2023.04.11

[백준] 1182번 - 부분수열의 합

1182번 - 부분수열의 합 https://www.acmicpc.net/problem/1182 1182번: 부분수열의 합 첫째 줄에 정수의 개수를 나타내는 N과 정수 S가 주어진다. (1 ≤ N ≤ 20, |S| ≤ 1,000,000) 둘째 줄에 N개의 정수가 빈 칸을 사이에 두고 주어진다. 주어지는 정수의 절댓값은 100,000을 넘지 않는다. www.acmicpc.net DFS를 통해 모든 경우의 수를 탐색한 뒤 depth가 N이고, 부분 수열의 합이 S일 경우 count를 1씩 증가하여 출력 값을 구한다. 이때 주의해야 할 점은 S가 0일 때, 부분 수열의 어떠한 수도 선택되지 않는 경우이다. S가 0이 아닐 경우 앞의 경우는 고려사항이 아니다. 즉, S가 0일 때만 count에서 1을 빼주면 된다..

Baekjoon 2023.04.07

[백준] 1107번 - 리모컨

1107번 - 리모컨 https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 처음 문제를 이해하고 접근할 때 완전 탐색 방법은 배제하고 접근을 했다. 길이가 10인 배열에 고장 난 버튼은 1, 정상작동 버튼은 0으로 초기화했다. 위의 예제에서 답을 구하는 방법은 5455++, 5459-- 2가지 방법이 있다. 7에서 1씩 증가, 1씩 감소 2가지 방향으로 리모컨 클릭수를 누적하였다. 하지만 이 예제는 마지막 자릿수의 버튼만 고장인 상태..

Baekjoon 2023.04.06