본문 바로가기

분류 전체보기

(217)
1부터 정수 n까지 1 + (1 + 2) + (1 + 2 + 3) + .... + (1 + 1이상 n 이하 모든 정수의 합 )과 같은 식의 합을 구하는 알고리즘 import java.io.*; import java.lang.*; import java.util.*; public class Main { public static final Scanner scanner = new Scanner(System.in); /** * N에 대한 정답을 계산하는 함수 * @param N * @return */ public static int getRangeSumFromOne(int n){ int s = 0; for(int i = 1; i
선택 정렬 알고리즘 import java.io.*; import java.lang.*; import java.util.*; public class Main { public static final Scanner scanner = new Scanner(System.in); public static void selectionSort(int[] data, int n){ //정수형 배열과 크기를 입력 받음 for(int i = 0; i < n; i++){ //배열의 크기만큼 1씩 증가하며 실행 int idx = i; //idx(최솟값을 담을 변수)를 선언 for(int j = i; j < n; j++){ if(data[j] < data[idx]){ //만약 data[idx](현재 최소값)보다 data[j]가 작다면 idx = j; ..
입력 받은 정수형 배열에서 배열 평균과 가장 가까운 원소의 값과 순서(인덱스 +1)를 반환하는 알고리즘 import java.io.*; import java.lang.*; import java.util.*; public class Main { public static final Scanner scanner = new Scanner(System.in); /** * 평균과의 차가 가장 작은 데이터의 번호를 반환하는 함수 * 여러 가지라면 가장 빠른 번호를 반환한다. * * @param data * @param n * @return int 가장 평균과 가까운 데이터의 번호 (1번부터 시작) */ public static int findIndex(int[] data, int n){ int S = 0; int x = 0; for(int i =0; i < n; i++){ S += data[i]; } //x := da..
@target과 @witnin의 차이 @target: 인스턴스의 모든 메서드를 조인 포인트로 적용(부모 메서드까지 어드바이스 적용) @within: 해당 타입 내에 있는 메서드만(자기 자신 클래스에 정의된 메서드만) 조인 포인트로 적용 package hello.aop.pointcut; import hello.aop.member.annotation.ClassAop; import lombok.extern.slf4j.Slf4j; import org.aspectj.lang.ProceedingJoinPoint; import org.aspectj.lang.annotation.Around; import org.aspectj.lang.annotation.Aspect; import org.junit.jupiter.api.Test; import org.spr..
입력 받은 문자열 배열에서 원하는 값의 첫번째 원소와 마지막 원소를 찾는 알고리즘 import java.io.*; import java.lang.*; import java.util.*; public class Main { public static final Scanner scanner = new Scanner(System.in); /** * @param school 각 사람들의 소속학교 정보 배열 * @param n 사람들의 수 * @param findName 찾을 학교 이름 */ public static int[] getIndexes(String[] school, int n, String findName){ int firstIndex = -1; //존재하지 않으면 -1 int lastIndex = -1; //존재하지 않으면 -1 for(int i = 0; i < n; i++){ if..
입력 받은 정수형 배열에서 원하는 값이 있는 인덱스를 반환하는 알고리즘 import java.io.*; import java.lang.*; import java.util.*; public class Main { public static final Scanner scanner = new Scanner(System.in); /** * 배열에서 특정 원소의 위치를 찾는 함수 * @param data 중복 없는 정수 배열 data[0] ~ data[n-1] * @param n 배열의 크기 n * @param m 배열에서 찾고자 하는 원소 * @return 원소가 존재한다면 인덱스를, 존재하지 않으면 -1을 반환한다. */ public static int findIndex(int[] data, int length, int findNum){ for(int i = 0; i < lengt..
입력 받은 정수형 배열(몸무게)을 통해 놀이기구의 탑승 가능 여부를 출력하는 알고리즘 import java.io.*; import java.lang.*; import java.util.*; public class Main { public static final Scanner scanner = new Scanner(System.in); /** * 동아리 멤버들의 탑승 가능 여부를 출력하는 함수 * * @param data 각 멤버들의 몸무게 data[0] ~ data[n-1] * @param n 멤버들의 수 * @param p 놀이기구 탑승 가능 체중 제한 * @param q 놀이기구 최대 하중 */ public static void solve(int[] data, int numOfMember, int weightRestriction, int MaxWeight){ int S = 0; //탑..
입력받은 정수형 배열에서 찾아야 하는 값과 일치하는 값의 개수를 반환하는 알고리즘 시나리오 : 많은 인파 중 친구 2명을 찾아야하는데, 키를 이용해 후보군을 추려 친구를 찾아보려 한다. import java.io.*; import java.lang.*; import java.util.*; public class Main { public static final Scanner scanner = new Scanner(System.in); /** * * @param data 각 사람들의 키를 저장한 배열 * @param n 사람들의 수 * @param m 찾아야 하는 첫번째 사람의 키 * @param s 찾아야 하는 두번째 사람의 키 * @return 첫번째 혹은 두번째 사람과 키가 일치하는 사람의 수 */ public static int getCount(int[] data, int n, i..