![[JAVA] 배열 비교, 복사, 역순으로 복사 알고리즘](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2Fb1uG5h%2FbtrWdH4DlSH%2F2smbOjrI7HBbJLy6Hzmmh0%2Fimg.png)
Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 배열 비교 두 배열의 모든 요소의 값이 같은지를 판단하는 알고리즘 static boolean equals(int[] a, int[] b) { if(a.length != b.length) return false; //배열의 길이가 다르면 false 리턴 for(int i = 0; i < a.length; ++i) if(a[i] != b[i]) return false; //요소의 값이 다르면 false 리턴 return true; //배열의 길이가 같고, 모든 요소의 값이 같으면 true 리턴 } 아래는 실행예제 public class Main{ static boolean equals(int[] a, int[] b) { i..
![[JAVA] 배열 요소를 역순으로 정렬하는 알고리즘](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdjsjkH%2FbtrWcq3q5o5%2FkhOmODzFkc4MN2K43CyG11%2Fimg.png)
Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 배열의 요소가 1, 2, 3, 4, 5, 6, 7 이렇게 7개 있다고 하면 역순으로 정렬하면 7, 6, 5, 4, 3, 2, 1이다. 그림에서 보는 것과 같이 요소들을 서로 바꿔주면 된다. 요소들을 바꿔주려면 먼저 swap함수를 정의해야한다. static void swap(int[] arr, int a, int b) //배열의 요소 값을 스왑 { int temp; temp = arr[a]; arr[a]= arr[b]; arr[b] = temp; } 매개변수 a와 b에 교환할 배열의 인덱스를 받고, 인덱스 a의 값과 인덱스 b의 값을 바꾼다.(swap) 이 swap 메소드를 응용해서 요소를 역순으로 정렬하는 알고리즘을 구..
![[JAVA] String 클래스](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F7jmel%2FbtrWgijgbLh%2FaAQhORl0dK4sWNrmebDAm0%2Fimg.jpg)
본 게시글은 혼자 공부하는 자바 (저자 : 신용권)의 책과 유튜브 영상을 참고하였고, 개인적으로 정리하는 글임을 알립니다. String 생성자 소스상에서 문자열 리터럴은 String 객체로 자동 생성되지만, String 클래스의 다양한 생성자를 이용해서 직접 String 객체를 생성할 수도 있다. 어떤 생성자를 이용해서 String 객체를 생성할지는 제공되는 매개값의 타입에 달려있다. 아래는 사용 빈도수가 높은 생성자들이다. 파일의 내용을 읽거나, 네트워크를 통해 받은 데이터는 보통 byte [] 배열이므로 이것을 문자열로 변환하기 위해 사용된다. //배열 전체를 String 객체로 생성 String str = new String(byte[] bytes); //지정된 문자셋으로 디코딩 String str..
![[JAVA] n개의 데이터 최댓값 구하기(난수 사용)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FcqsTpy%2FbtrWc3fOe0w%2FzF7uVs1rIBPj7Sp0NC6k61%2Fimg.png)
Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 배열, 난수 사용, 최댓값 구하기 n명의 사람 수를 받아오고, 랜덤으로 사람키를 지정해서 최댓값 출력 import java.util.Random; import java.util.Scanner; public class Main{ static int maxOf(int[] a) { int max = a[0]; for (int i = 1; i max) max = a[i]; return max; } public static void main(String[] args) { Random rand = new Random(); Scanner stdIn = new Scanner(Syste..
![[JAVA] System, Class 클래스](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FdtMJ7C%2FbtrWdeO2k7A%2FJBWkXRZYJUBVvAlQaz4K4k%2Fimg.jpg)
본 게시글은 혼자 공부하는 자바 (저자 : 신용권)의 책과 유튜브 영상을 참고하였고, 개인적으로 정리하는 글임을 알립니다. System 클래스 자바 프로그램은 JVM위에서 실행된다. java.lang 패키지에 속하는 System 클래스의 정적 필드와 메소드를 이용하면 프로그램 종료, 키보드 입력, 콘솔(모니터) 출력, 현재 시간 읽기, 시스템 프로퍼티 읽기 등이 가능하다. System 클래스의 모든 필드와 메소드는 정적 필드와 정적 메소드로 구성되어 있다. 정적 멤버 용도 필드 out 콘솔에 문자 출력 err 콘솔에 에러 내용 출력(빨간 글자색) in 키보드 입력 메소드 exit(int status) 프로세스 종료(JVM 종료) currentTimeMillis() 현재 시간을 밀리초 단위의 long 값으..
![[JAVA] 다중루프(중첩 for문) - 곱셈표, 도형, 피라미드](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F3UkdU%2FbtrV46xTtU8%2FQqeUXYMjIUUgz1deSkk81K%2Fimg.png)
Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 곱셈표 일반 곱셈표 public class Test{ public static void main(String[] args) { for(int i = 1; i1) {System.out.printf("%3d", (i-1)+(j-1));} } System.out.println(); } } } /* | 1 2 3 4 5 6 7 8 9 ---+--------------------------- 1| 2 3 4 5 6 7 8 9 10 2| 3 4 5 6 7 8 9 10 11 3| 4 5 6 7 8 9 10 11 12 4| 5 6 7 8 9 10 11 12 13 5| 6 7 8 9 10 11 12 13 14 6| 7 8 9 10 11..
![[JAVA] 두 자리 양의 정수만 입력받기, 드모르간 법칙](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FbpDWKq%2FbtrV6dv3dIk%2FP2F9PXvCdxzfAP4xhlrdu0%2Fimg.png)
Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 두 자리 양의 정수만 입력받기 import java.util.Scanner; public class Test{ public static void main(String[] args) { Scanner sc = new Scanner(System.in); int nc2; System.out.println("두 자리 정수를 입력하세요"); do { System.out.print("입력 : "); nc2 = sc.nextInt(); } while(nc2100); System.out.println("두 자리 정수를 입력하셨습니다."); } } /* 두 자리 정수를 입력하세요 입력 : 5 입력 : 101 입력 : 556 입력 : 5..
![[JAVA] 사전 / 사후 판단 반복(양수만 입력받기, 정수 자릿수 구하기)](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FctpZz8%2FbtrVXCD0HN4%2FqkqkoyDCIbhqBVR9vt1Hc1%2Fimg.png)
Do it! 자료구조와 함께 배우는 알고리즘 입문[자바편] 연습문제와 실습문제입니다. 사전 판단 반복과 사후 판단 반복의 차이점 사전 판단 반복문인 while문과 for문은 처음에 제어식을 평가한 결과가 0이면 루프 본문은 한 번도 실행되지 않는다. 이와 달리 사후 판단 반복문인 do-while문은 루프 본문이 반드시 한 번은 실행된다. 이것이 사전 판단 반복과 사후 판단 반복의 차이점이다. 음수 입력 방지하기 import java.util.Scanner; public class Test{ static int SumFor(int n) { int sum = 0; for(int i = 1; i