2021-02-03 자바에서 배열 사용간 배열 내부의 데이터들의 중복된 값을 제거하고 싶을 수가 있다. 이러한 경우에서의 해결방법을 알아보자. 1. Set 컬렉션 사용 package ArraysOverlap; import java.util.HashSet; import java.util.Iterator; import java.util.Set; import java.util.stream.Stream; public class main { public static void main(String[] args) { //방법 1. int [] arr = {1,1,1,2,3,4,5,5,5,6,7}; //중복된 값을 다수 가지는 int 배열 선언 Set set = new HashSet(); // set의 자료 구조를 사..
2021-01-27 자바에서 배열을 사용하다 보면, 자신이 원하는 데이터를 찾고 싶을 때가 있을 것이다. 이를 반복문 for / while문을 돌려가면 찾을 수도 있겠지만, 친절하게도 Arrays에서 이와 같은 문제를 해결하기 위한 기능을 제공한다. 사용방법은 아래와 같다. - 선언 package Arrays_Search; import java.util.Arrays; public class main { public static void main(String[] args) { // 배열의 특정 인덱스값 추출하기 // 배열의 특정 데이터를 입력하면, // 해당 데이터에 맞는 인덱스 넘버를 리턴해준다. String [] arr = {"a", "b", "c", "d","f"}; int index = Arrays..
2021-01-02 자바에서의 배열을 복사하는 방법은 여러 가지 있다. for이나 while 같은 반복문을 활용하여 직접 값을 하나씩 넣어주는 방법도 있고 이번 소개할 방법처럼 Arrays의 메서드를 활용하는 방법이 있다. 사용방법은 매우 간단하니 바로 코드를 살펴보자. package aArrays; import java.util.Arrays; public class copyMain { public static void main(String[] args) { int [] arr1 = {1, 2, 3, 4, 5}; int [] arr2 = Arrays.copyOf(arr1, arr1.length); //복사하고자하는 오리지널 배열 넣고, 복사하고자하는 총범위를 뒤에 넣어줌 for(int i =0; i < ..
2020-12-26 문제 메이플스토리 뉴비 키파가 드디어 레벨 200을 달성하고 5차 전직이라는 시스템을 이용해 캐릭터를 더욱 강력하게 만들려고 합니다. 5차 전직을 하려면 먼저 퀘스트를 통해 아케인스톤이라는 아이템을 받아야 합니다. 아케인스톤을 활성화시키면 캐릭터가 얻는 경험치를 아케인스톤에 모을 수 있습니다. 5차 전직을 하기 위해서는 총 n개의 퀘스트를 진행해서 n개의 아케인스톤을 받아야 하며, 각각의 아케인스톤에 5억 이상의 경험치를 모으면 5차 전직을 진행할 수 있는 자격이 주어집니다. i번째 퀘스트를 진행하면 ai의 경험치와 i번째 아케인스톤이 주어집니다. 퀘스트로 얻는 경험치도 사냥으로 얻는 것과 똑같은 경험치이기 때문에, i번째 퀘스트의 보상 경험치를 받을 때 활성화되어 있던 아케인스톤에는..
2020-12-02 문제 유명한 피타고라스의 정리와 유사한 형태의 피타고라스 기댓값 (Pythagorean Expectation)이 야구와 같은 스포츠 경기에 자주 사용된다. 피타고라스 기댓값은 빌 제임스(Bill James)에 의해 정의되었으며, 이 값은 특정 야구팀이 한 시즌 동안 얼마나 잘 했는지를 평가하는 지표 중 하나로 사용된다. 한 야구팀의 피타고라스 기댓값 W는 아래 식과 같이 정의된다. 여기서 S는 해당 팀의 총 득점 수를, A는 해당 팀의 총 실점 수를 나타낸다. 이 기댓값을 실제 승률과 비교하여, 해당 팀이 한 시즌을 얼마나 잘 보냈는지 평가할 수 있다. 예를 들어, 한화 이글스는 2014 시즌에 619 득점과 889 실점을 했다. 즉, S = 619, A = 889이 되어, 한화 팀의..
2020-11-13 알고리즘 및 배열에 관련된 문제를 처리하다 보면, 각 배열을 정렬을 해야 하는 경우가 생기게 된다. 때문에 오늘은 이 정렬 중 2차원 배열을 정렬하는 방법을 알아보도록 하자. 흔히들 1차원 배열은 Array.sort(배열 이름)라는 메서드를 이용해서 손쉽게 정렬을 할 수 있다. 다만 2차원 배열의 경우에는 여기에 추가적인 조건을 제시하여야 한다. 우선 예제는 아래와 같다. (3행 2열의 배열을 우선적으로 만들어 주었다.) ex)배열: arr (3, 5) (4, 2) (3, 4) 그러면 바로 코드를 살펴보도록 하자 import java.util.Arrays; import java.util.Comparator; 우선 2종류의 import를 실행해야 한다. 정렬을 위한 Arrays와 비교를..