java 355

[프로그래머스 코딩테스트] 푸드 파이트 대회(Java)

문제 설명 수웅이는 매달 주어진 음식을 빨리 먹는 푸드 파이트 대회를 개최합니다. 이 대회에서 선수들은 1대 1로 대결하며, 매 대결마다 음식의 종류와 양이 바뀝니다. 대결은 준비된 음식들을 일렬로 배치한 뒤, 한 선수는 제일 왼쪽에 있는 음식부터 오른쪽으로, 다른 선수는 제일 오른쪽에 있는 음식부터 왼쪽으로 순서대로 먹는 방식으로 진행됩니다. 중앙에는 물을 배치하고, 물을 먼저 먹는 선수가 승리하게 됩니다. 이때, 대회의 공정성을 위해 두 선수가 먹는 음식의 종류와 양이 같아야 하며, 음식을 먹는 순서도 같아야 합니다. 또한, 이번 대회부터는 칼로리가 낮은 음식을 먼저 먹을 수 있게 배치하여 선수들이 음식을 더 잘 먹을 수 있게 하려고 합니다. 이번 대회를 위해 수웅이는 음식을 주문했는데, 대회의 조건..

[프로그래머스 코딩테스트] 크기가 작은 부분문자열(Java)

문제 설명 숫자로 이루어진 문자열 t와 p가 주어질 때, t에서 p와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 p가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return 하는 함수 solution을 완성하세요. 예를 들어, t = "3141592"이고 p = "271"인 경우, t의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다. 제한사항 1

[Spring] 4. 데이터베이스 작업

데이터베이스(Database)란 데이터를 보관하기 위한 상자라고 할 수 있습니다. 데이터베이스에서 데이터를 모을 때는 특정한 규칙을 적용하여 데이터를 정리해서 보관합니다. 관계형 데이터베이스(Relational Database)는 데이터를 표 형식으로 표현하고, 여러 표에서 항목의 값 사이에 관계를 맺고 있는 데이터베이스를 말합니다. 데이터베이스의 특징으로는 다음과 같습니다. 실시간 접근성(real time accessibillity): 사용자가 데이터를 요청하면 수 초 내에 결과를 서비스 계속적인 변화(continuous change): 어느 한 순간의 상태를 나타내지만, 데이터 값은 시간에 따라 항상 바뀜. 삽입, 삭제, 수정 등의 작업을 통해 바뀐 데이터 값을 저장 동시 공유(concurrent s..

Java/Spring 2023.06.05

[알고리즘 정렬] 버블 정렬(Bubble Sort)

버블 정렬(Bubble Sort)이란 인접한 데이터를 비교하며 자리를 바꾸는 방식을 뜻합니다. 가장 큰 데이터를 맨 뒤로 보냅니다. 알고리즘 복잡도는 O(n^2)입니다. 정렬되지 않은 데이터 15 11 1 3 8 ↓ 11 1 15 3 8 ↓ 11 1 3 15 8 ↓ 11 1 3 8 15 ↓ 1 11 3 8 15 ↓ 1 3 11 8 15 ↓ 정렬이 끝난 데이터 1 3 8 11 15 버블 정렬 구현 코드 pubilc class Main { public static void bubbleSort(int[] array) { for (int i = 1; i ar..

알고리즘/정렬 2023.06.05

[자료구조] 자료구조란?

자료구조(Data Structure)는 일련의 동일한 타입의 데이터를 정돈하여 저장한 구성체입니다. 데이터를 정돈하는 목적은 프로그램에서 저장하는 데이터에 대해 접근, 탐색, 삽입, 삭제 등의 연산을 효율적으로 수행하기 위해서이며, 자료구조를 설계할 때는 데이터와 데이터와 관련된 연산을 함께 고려하여 설계해야 합니다. 자료구조의 효율성은 자료구조에 저장된 데이터에 대해 수행되는 연산의 수행 시간으로 측정합니다. 자료구조에 대한 연산 수행 시간 측정 방식은 알고리즘의 성능을 측정하는 방식과 동일합니다. 알고리즘의 성능은 수행 시간을 나타내는 시간 복잡도(Time Complexity)와 알고리즘이 수행되는 동안 사용되는 메모리 공간의 크기를 나타내는 공간 복잡도(Space Complexity)에 기반하여 분..

Java/자료구조 2023.06.05

[프로그래머스 코딩테스트] 저주의 숫자 3(Java)

문제 설명 3x 마을 사람들은 3을 저주의 숫자라고 생각하기 때문에 3의 배수와 숫자 3을 사용하지 않습니다. 3x 마을 사람들의 숫자는 다음과 같습니다. 10진법 3x 마을에서 쓰는 숫자 10진법 3x 마을에서 쓰는 숫자 1 1 6 8 2 2 7 10 3 4 8 11 4 5 9 14 5 7 10 16 정수 n이 매개변수로 주어질 때, n을 3x 마을에서 사용하는 숫자로 바꿔 return 하도록 solution 함수를 완성해주세요. 제한사항 1

[프로그래머스 코딩테스트] 빈 배열에 추가, 삭제하기(Java)

문제 설명 아무 원소도 들어있지 않은 빈 배열 X가 있습니다. 길이가 같은 정수 배열 arr과 boolean 배열 flag가 매개변수로 주어질 때, flag를 차례대로 순회하며 flag[i]가 true라면 X의 뒤에 arr[i]를 arr[i] * 2번 추가하고, flag[i]가 false라면 X에서 마지막 arr[i]개의 원소를 제거한 뒤 X를 return 하는 solution 함수를 작성해 주세요. 제한사항 1

[Spring] 3. 스프링 프레임워크의 핵심 기능 알아보기

A 클래스에서 다른(B) 클래스를 사용하려면 new 키워드를 이용하여 다른 클래스의 인스턴스를 생성하고 다른 클래스의 메서드를 사용합니다. 이때 다른 클래스에서 구현했던 메서드를 변경하면 A 클래스에서도 해당 메서드를 변경해야 합니다. 이때 A 클래스는 B 클래스에 의존한다고 합니다. 의존의 유형에는 클래스 의존(구현 의존)과 인터페이스 의존이 있습니다. 먼저 클래스를 의존하는 경우입니다. A 클래스에서 B 클래스의 인스턴스를 생성하고 메서드를 호출합니다. 그러나 설계가 변경되어 B 클래스가 아닌 C 클래스를 호출하도록 변경해야 합니다. 이를 위해서는 예를 들어, 인스턴스를 생성하는 부분 또는 메서드를 호출하는 부분 등 B 클래스를 직접적으로 지정하는 모든 부분을 C로 변경해주어야 합니다. 만약 이러한 ..

Java/Spring 2023.06.03