study 35

자바[JAVA] HashSet

HashSet의 특징은 다음과 같다 중복되는 원소를 넣었을 땐 하나만 저장된다 따라서 같은 값의 원소는 하나만 저장이 된다.HashSet은 순서 개념이 없어서 정렬을 하려면 리스트로 변환 후 해야 한다.순서 개념이 없기 때문에 Collections.sort() 메서드를 이용할 수 없다. import java.util.HashSet;public class Main { public static void main(String[] args) { HashSet h = new HashSet(); h.add(1); h.add(2); h.add(1); // HashSet 안에 있는 요소들을 출력 System.out.println(h); ..

study/java 2024.06.28

자바[JAVA] StringBuilder

String str1 = "Hello ";String str2 = "Java";str1 += str2;System.out.println(str1); //"Hello Java" 이와 같이 2개의 string 객체가 있을 때 str1 + str2 연산을 하게 되면 새로운 String을 생성한다.String 객체는 한 번 생성되면 변경할 수 없어 위와 같이 + 연산자를 사용해 문자열을 연결하면 연결할 때마다 새로운문자열 객체가 생성된다 따라서 String객체와 String객체를 더하는 행동은 메모리 할당과 메모리 해제를 발생시키고 연산이 많아지면 성능적으로 안 좋다. 위 같은 문제를 해결하기 위해 StringBuilder를 쓴다 StringBuilder는 String과 다르게 값이 변할 수 있다StringBu..

study/java 2024.06.25

자바[JAVA] 배열 오름차순 함수 Arrays.sort()

Arrays.sort() 함수를 이용하면 배열 값들을 쉽게 오름차순이나 내림차순으로 정리할 수 있다  예를 들면 int[] int = {13, 56, 32, 123, 61, 123, 1, 6}; Arrays.sort(int); System.out.println(Arrays.toString(int)); // [1, 6, 13, 32, 56, 61, 123, 123]  Arrays.sort함수를 이용해서 숫자를 정렬하면 오름차순으로 위와 같이 정렬되고  String[] str = {"Banana", "banana", "bana", "Carrot", "car", "Car", "Apple", "apple"}; Arrays.sort(str); ..

study/java 2024.06.22

[알고리즘] A + B - 4 - 백준 10951번

https://www.acmicpc.net/problem/10951 while문을 이용한 반복되는 두개의 정수 합 구하기 **입력의 종료는 더이상 읽을 수 있는 데이터(EOF)가 없을 때 종료한다.** import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.IOException;import java.util.StringTokenizer; public class Main { public static void main(String args[]) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); Strin..

study/algorithm 2024.06.18

[알고리즘] A + B - 3 - 백준 10950번

https://www.acmicpc.net/problem/10950 for문을 이용한 반복되는 두개의 정수 합 구하기 **첫줄에 테스트 케이스 개수가 주어진다**  import java.io.BufferedReader;import java.io.InputStreamReader;import java.io.IOException;import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); int N = Integer.parseIn..

study/algorithm 2024.06.18

자바[JAVA] while 반복문

while 반복문의 기본 형태는 다음과 같다.int i=1; // 초기값 설정 while (i 위와 같이 해주면 10번동안 문장이 반복되어 출력된다.  int count = 0; //while 조건이 참이면 반복문이 계속 실행된다. while(count  위와 같이 작성해주면count값이 10이 되면 while문이 종료된다.  int coffee = 10; // 커피 양 int money = 300; // 돈 System.out.println("while문 실행"); while (money > 0) { System.out.println("돈을 받았으니 커피를 판매합니다."); coff..

study/java 2024.06.18

[알고리즘] 별 찍기2 - 백준 2439번

https://www.acmicpc.net/problem/2439  이번문제는 별 찍기 1과는 다르게 공백이 1행에 4개, 2행에 3개...... 이런 식으로 흘러가는데즉 n번째 행에는 N-n개의 공백이 출력되고 별은 n번째 행에 n개가 출력 되어야 된다. 그러면 i가 행을 의미하니 N-i 의 값만큼 공백을 출력해주어야 하니 아래와 같이 작성할 수 있다.for ( int i = 1 ; i  또 각 행에 별의 개수는 i값만큼 출력해줘야 하니 for을 하나 더 추가해야 된다.for ( int i = 1 ; i 마지막으로 개행을 해주어야 하기 때문에 개행을 추가해 준다for ( int i = 1 ; i  위를 응용하여 문제를 풀 수 있다.import java.io.BufferedReader;import jav..

study/algorithm 2024.06.18

[알고리즘] 별 찍기1 - 백준 2438번

https://www.acmicpc.net/problem/2438 반복문의 가장 유명한 별 찍기 문제 기본적으로 알아야 할 것은 아래와 같다.먼저 N 이라는 숫자를 주어준다1행부터 N행까지 출력하기 위한 큰 틀의 반복문을 만들어준다.for ( int i = 1 ; i 행을 의미하는 i를 만들어 준 것이다. 이어서 for문 안에 for문을 넣어 이중 for문을 작성해 준다.for(int i = 1; i  내부 for문의 j는 i의 값만큼 반복해 준다. i는 행을 만들어주는 횟수를 j는 별을 찍는 개수를 만들어준다고 생각하면 된다.또 한 행의 출력이 모두 끝나면 개행을 해주어야 되니내부 for문이 종료될 때마다 개행을 해줄 수 있도록 해준다. for ( int i = 1 ; i  위와 같은 방식으로 별 찍기..

study/algorithm 2024.06.18

자바[JAVA] for 반복문

반복문 중 for 문의 기본 문법은 아래와 같다for(변수선언 및 초기화; 조건식; 증감식) { 실행문; } 예를 들면  0부터 100까지의 수를 출력하고 싶을 때System.out.println(0);System.out.println(1);System.out.println(2);System.out.println(3);... System.out.println(100); 까지 하는 게 아니라 for문을 이용할 수 있다. for(int i = 0; i  위와 같이 해주면0부터 100까지 숫자를 출력한다.

study/java 2024.06.17

[알고리즘] 주사위 세개 - 백준 2480번

https://www.acmicpc.net/problem/2480 문제를 풀 때 중요한 건 세 개의 변수 비교를 잘 생각해야 된다. 먼저 3개의 변수가 모두 다른 경우부터 생각해 보자//주사위 숫자가 모두 다른 경우if(a!=b && b!=c && a!==c){}//한 쌍이라도 서로 같은 숫자가 있는 경우else{}그리고 문제에서모두 다른 눈이 나오는 경우에는 (그중 가장 큰 눈) X100원의 상금을 받게 된다고 쓰여있기 때문에3개의 다른 숫자 중에서 가장 큰 숫자를 찾아야 된다. a와 b에서 큰 숫자를 확인한 후 큰 숫자를 c랑 비교하면 된다.  //주사위 숫자가 모두 다른 경우if(a!=b && b!=c && a!==c){ int max;// a > b 인 경우 if(a > b){ //c > a..

study/algorithm 2024.06.17