본문 바로가기

개발자노트

(260)
함수 기본 package class01; public class Test01 { //static: "객체와 무관하게" static void func() { // func이라는 이름의 함수를 정의, 식별자이름형식 사용(대문자x,특수기호x,공백x..등) System.out.println("내가 만든 첫번째 함수!!!"); // 콘솔은 main 함수에서 나오는 결과를 보여주는 창, 선언만 했기 때문에 아직 출력이 안됨 ★메인 함수에서 함수를 호출해야함.★ // 코드의 재사용성이 증가됨 // : 오류의 파급효과가 줄어듦 // : 유지보수 용이 } public static void main(String[] args) { // 변수 3요소 // 공간, 자료형, 식별자 // 값xxx -> 초기화 이슈 // 타입 캐스팅(형변환)..
Random을 이용한 횟수제한 Up/Down! package class05; import java.util.Random; import java.util.Scanner; public class Test08 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); Random random = new Random(); int L = 1; int H = 100; int ans = random.nextInt(100) + 1; // 1~100 int LIFE = 5; // flag의 개념 while (true) { for (int i = 0; i < LIFE; i++) { System.out.print("♥"); } System.out.println(); System.out...
Random을 이용한 Up/Down! package class05; import java.util.Random; import java.util.Scanner; public class Test07 { public static void main(String[] args) { // 코딩테스트: 삽입,선택 정렬 // +) 퀵 정렬 까지 네가지는 잘 봐두면 좋음 // 랜덤 관련 알고리즘 // 주사위눈금, 랜덤파편, 로또 Random random = new Random(); // new가 사용되었기 때문에 random수를 생성하는 객체 // System.out.println(random.nextInt(6)+1); // 0~4까지 , 컴퓨터는 0부터 시작함 0을 포함하기 싫으면 // (랜덤으로 나올 숫자)에 +1 // 10~50 사이를 나타내고 싶으면 ..
정렬 [이진탐색(이분검색)] package class04; import java.util.Scanner; public class Test06 { public static void main(String[] args) { // [이진탐색(이분검색)] // -> 탐색할 대상 배열이 "정렬"되어있어야 한다. int[] data = { 1, 40, 50, 55, 60, 70, 81, 92, 94, 100 }; Scanner sc = new Scanner(System.in); while (true) { boolean flag = true; // 어떠한 행위가 잘 되었는지를 체크하는 변수 // T / F 밖에 없음 System.out.print("검색: "); int num = sc.nextInt(); int L = 0; int H = data..
정렬 범위를 나타내는 변수를 이용한 Up/Down! package class04; import java.util.Scanner; public class Test06 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 사용자의 편의성 고려 // 1~100 중에서 정답 입력 // L H / L R / S E >> 범위,변수 int ans = 79; int L = 1; int H = 100; while (true) { System.out.println(L + "~" + H + "정답입력: "); int num = sc.nextInt(); // 유효성 검사 : 입력 즉시 진행되는 편임 if (num < L || H < num) { System.out.println("..
정렬 최소값/ 최대값을 이용한 Up/Down! package class04; import java.util.Scanner; public class Test05 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); // 1~100까지 int ans = 79; // 정답 정수 while (true) { // 몇번만에 맞출지 모르기 때문에 while문 사용 System.out.print("정답입력: "); int num = sc.nextInt(); if (num == ans) { System.out.println("정답입니다!"); break; } else if (num > ans) { System.out.println("DOWN!"); } else { System...
정렬을 이용한 최소값 찾기 package class01; public class Test04 { public static void main(String[] args) { // 최소값 찾기 // 최소값은 1이고 []에 존재합니다. int[] data = { 10, 5, 3, 1, 4 }; int Min = data[0]; int INDEX = 0; // 최소값의 위치(index)를 저장할 변수 // INDEX를 초기화해야만 하는 이유 // 1) 최소값이 [0]에 존재할 때 // 2) 스도코딩에 의해 최소값이 0번 인덱스에 있다고 단정지어놔서. 초기화는 해둬야함 // 나중에 index값도 같이 변경될 거기 떄문에.. -> 20번째 줄 for (int i = 0; i data[i..
정렬을 이용한 최대값 찾기 package class01; public class Test03 { public static void main(String[] args) { // [최대값 찾기] 알고리즘 int[] data = { 1, 3, 10, 4, 2 }; int MAX = data[0]; // [0]인덱스의 값을 MAX라고 단정한다. // "검증" [1] 인덱스부터 MAX가 잘 설정 되었는지 검증을 한다. for (int i = 1; i < data.length; i++) { if (MAX < data[i]) { // MAX가 올바르지 않으면 변경됩니다. MAX = data[i]; } } System.out.println("MAX= " + MAX); } }