Java
-
Java) 비트연산자 정리 feat) 백준 1740Java 2021. 8. 31. 16:31
비트 연산자 비트 연산자는 low-level의 연산자이며, 논리 연산자와 비슷하지만, 비트 단위로 논리 연산을 할 때 사용하는 연산자. 비트 단위로 왼쪽, 오른쪽으로 전체 비트를 이동하거나, 1의 보수를 만들 때도 사용. 실수(Double), Boolean, 배열(Array), 객체(Object)에는 사용할 수 없다. 만약 boolean 연산자를 사용하고 싶다면 |, &, ^ 연산 등을 사용해야 한다. &(AND 연산자) - 대응되는 두 비트가 모두 1일 때만 1을 반환, 다른 경우 0 반환. 각 비트와 연산을 하기 때문에 아래의 예제처럼 각 비트가 모두 1인 경우 1을 반환한다. int a = 2; int b = 3; System.out.println(Integer.toBinaryString(a)); ..
-
JAVA) 문자열을 입력받았을 때 각 자릿값을 반환받는 방법 (백준 11720번)Java 2020. 9. 21. 16:26
각 자릿값의 합을 출력하는 알고리즘 문제가 있습니다. Int로 입력받았을 때는 해당 변수에 나누기 10을 하여 나머지로 자릿값을 받고 해당 변수를 10으로 나누어 그 다음 자릿값을 반환 받을 수 있습니다. 하지만 문자열로 입력받았을 때는 어떻게 쉽게 반환 할 수 있을까요? 바로 getBytes라는 함수를 이용하는 것입니다. 입력받은 해당 문자열을 하나의 byte 배열로 변환해주는 함수입니다. 아래의 백준 알고리즘을 풀다가 알아보게 되었는데, 문제를 풀 사람은 문제를 먼저 풀어보고 해답을 보시길 바랍니다. www.acmicpc.net/problem/11720 11720번: 숫자의 합 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. www.acmic..
-
JAVA) copyOf() 메소드, copyOfRange() 메소드 비교Java 2020. 7. 14. 11:51
copyOf() 메소드 copyOf() 메소드는 전달받은 배열의 특정 길이만큼을 새로운 배열로 복사하여 반환. copyOf() 메소드는 첫 번째 매개변수로 원본 배열을 전달받고, 두 번째 매개변수로 원본 배열에서 새로운 배열로 복사할 요소의 개수를 전달받고 원본 배열과 같은 타입의 복사된 새로운 배열을 반환. 이때 새로운 배열의 길이가 원본 배열보다 길면, 나머지 요소는 배열 요소의 타입에 맞게 다음과 같은 기본값으로 채워집니다. ex) int[] arr1 = {1, 2, 3, 4, 5}; ① int[] arr2 = Arrays.copyOf(arr1, 3); for (int i = 0; i
-
JAVA) List 와 ArrayList 차이Java 2020. 7. 13. 17:28
문득 List와 ArrayList의 차이점이 궁금해서 검색을 해봤습니다. List = 인터페이스 ArrayList = 클래스 List는 interface다. interface는 공통되는 메서드를 추출해 놓은 클래스로 생각하면 된다. 즉 범위로 생각하면 List 안에 ArrayList, LinkenList...등이 포함되어 있다. 대부분 이런식으로 차이점을 소개한 글이어서, 뭔가 궁금한 부분을 확실히 해소해주지 못하는 느낌이었습니다. 그래서 List와 ArrayList의 차이점이 뭔데!? ArrayList list = new ArrayList (); List list = new ArrayList (); 위의 두 코드의 차이는 무엇일까요. 2가지 모두 같은 결과를 도출합니다. 하지만 List를 사용해 Arr..