분류 전체보기 64

[Java] String 배열 -> int 배열로 변환

알고리즘 풀이 시 n개의 수를 받아 int 배열로 저장해야할때가 많다.코드 상으로 가장 깔끔한 방법은 Stream을 사용하는 것.public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int[] arr = Arrays.stream(br.readLine().split(" ")) // 공백으로 나눈 String 배열을 스트림으로 변환 .mapToInt(Integer::parseInt) // 스트림의 각 문자열 요소를 int로 변환 ..

자바/조각 2025.04.23

[IntelliJ][ChatGPT] IntelliJ에서 gpt 사용하는 방법

백엔드 강의 듣고 있는 요즘강사님이 IntelliJ에서 ChatGPT를 사용하셔서 나도 따라해봤다.근데 플러그인에서 ChatGPT를 아무리 찾아도 공식(OpenAI)가 안보임.IntellJ에서 공식 ChatGPT 연결은 Ultimate(유료) 버전만 가능한듯해서대체제로 EasyCode 플러그인을 설치해서 gpt ai를 사용했다. [ IntelliJ 에서 ChatGPT 사용하는 방법]1. EasyCode 플러그인 설치2. IntelliJ 재실행3. IntelliJ 우측 바에 EasyCode 아이콘 클릭4. 간단하게 이메일로 가입5. 아래 대화창에 요구사항 입력하면 아래와 같이 코드 바로 짜준다!▽ 실행 예시 ▽참고로 나는 deepseek coder 버전 ai 모델 사용 중 이다.모델 선택하는 방법은 아래 ..

[IntelliJ] IntelliJ 기본 단축키 모음 - 윈도우 (IntelliJ Shortcut Keys - Window)

✔ 내가 자꾸 까먹어서 적어두는 인텔리제이 단축키현재 파일 main 실행 : Ctrl + Shift + F10최근 실행한 main 실행 : Shift + F10 print 자동완성 : sout 작성 후 Ctrl + Space기본 코드 자동완성 : Ctrl + SpaceGithub copilot 자동완성 : tap커밋 : Alt + 0테스트 클래스 만들기 : 메서드 선언부에서 Ctrl + Shift + T표현식을 자동으로 지역 변수로 추출 : 해당 변수 부분에 커서 두고 Ctrl + Alt + V리팩토링 메뉴 열기 : 블록 선택 + Ctrl + Alt + Shift + T메소드 추출 : 블록 선택 + Ctrl + Alt + M try-catch 감싸기 : 블록 선택 + Ctrl + Alt + T + 6선..

[SpringBoot] 스프링부트 개념정리 with JPA - JPA 개념잡기

Springboot 강좌 - 개념정리 [4 ~ 7강] 요약JPA 란?Java Persistence APIORM 기술반복적인 CRUD 작업을 생략하게 해줌영속성 컨텍스트를 가지고 있음DB와 OOP의 불일치성을 해결하기 위한 방법론을 제공함(DB는 객체 저장 불가능)OOP의 관점에서 모델링을 할 수 있게 해줌(상속, 콤포지션, 연관관계)방언 처리가 용이하여 Migration 하기 좋음, 유지보수에도 좋음쉽지만 어려움전체 내용 JPAJava Persistence API(Application Programming Inteface)자바에 있는 데이터(RAM 내 데이터는 휘발성임)를 HDD내 DBMS에 영구히 저장할 수 있게 도와주는 API(인터페이스)persistense(영속성)데이터를 생성한 프로그램의 실행이 ..

[SpringBoot] 스프링부트 개념정리 with JPA - 스프링 개념잡기

Springboot 강좌 - 개념정리 [1 ~ 3강] 요약스프링 이란?프레임워크오픈소스IoC 컨테이너를 가짐DI를 지원함엄청나게 많은 필터를 가지고있음엄청나게 많은 어노테이션을 가지고있음(리프렉션, 컴파일체킹)MessageConverter(Jackson)를 가지고 있음, 기본은 JSON 타입으로 변환 (요청 / 응답 모두 해당)BufferdReader와 BufferedWriter를 쉽게 사용할 수 있음스프링은 계속 발전 중임전체 내용 스프링프레임워크틀, 뼈대 라는 의미기능을 미리 클래스나 인터페이스 등으로 만들어 제공하는 반제품일정 형식에 따라 개발하는 환경개발 후 유지보수 확장이 쉬움개발 틀이 제공되기 때문에 잘못된 코딩으로 가는것 방지(특히 신입)오픈소스코드가 모두 공개되어있어 내부 코드를수정해서 기..

[프로그래머스/JAVA] 더 맵게

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/42626 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 내용 : 아래 더보기 더보기 정답 코드 ) 최소힙 사용 import java.util.*; class Solution { public int solution(int[] scoville, int K) { // 매번 sort하지 않아도, min 값을 유지하려면 => min 힙 사용 Queue list = new PriorityQueue(); for(int s : scoville) ..

[프로그래머스/JAVA] 게임 맵 최단거리

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/1844 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 내용 : 아래 더보기 더보기 정답 코드 ) BFS 사용 V 최단거리 구하는 문제는 대부분 BFS 사용해야함, DFS는 최단거리 구하는 문제에 적합하지 않음 import java.util.*; class Solution { class Location { int x, y; Location(int x, int y) { this.x = x; this.y = y; } public bool..

[프로그래머스/JAVA] 타겟 넘버

문제 링크 : https://school.programmers.co.kr/learn/courses/30/lessons/43165 프로그래머스 코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요. programmers.co.kr 문제 내용 : 아래 더보기 더보기 정답 코드 ) 재귀 함수 사용 class Solution { public int solution(int[] numbers, int target) { return sumCnt(numbers, target, 0, 0); } // 재귀적으로 숫자를 더하거나 빼면서 타겟 넘버를 만드는 경우의 수를 계산하는 메서드 int sumCnt(final int[] n..

[백준/JAVA] 2606번 : 바이러스

문제 링크 : https://www.acmicpc.net/problem/2606 2606번: 바이러스 첫째 줄에는 컴퓨터의 수가 주어진다. 컴퓨터의 수는 100 이하인 양의 정수이고 각 컴퓨터에는 1번 부터 차례대로 번호가 매겨진다. 둘째 줄에는 네트워크 상에서 직접 연결되어 있는 컴퓨터 쌍 www.acmicpc.net 문제 내용 : 아래 더보기 더보기 - 문제 신종 바이러스인 웜 바이러스는 네트워크를 통해 전파된다. 한 컴퓨터가 웜 바이러스에 걸리면 그 컴퓨터와 네트워크 상에서 연결되어 있는 모든 컴퓨터는 웜 바이러스에 걸리게 된다. 예를 들어 7대의 컴퓨터가 과 같이 네트워크 상에서 연결되어 있다고 하자. 1번 컴퓨터가 웜 바이러스에 걸리면 웜 바이러스는 2번과 5번 컴퓨터를 거쳐 3번과 6번 컴퓨터..

알고리즘/백준 2024.03.28