본문 바로가기

Java

(12)
우박수(콜라츠 추측)의 java 코드화, Math.Random활용, 1. 우박수 코드화(콜라츠 추측) https://namu.wiki/w/%EC%BD%9C%EB%9D%BC%EC%B8%A0%20%EC%B6%94%EC%B8%A1 콜라츠 추측 - 나무위키 콜라츠 추측이 풀기 어려운 이유를 알려면 일단 이거부터 알아야 된다. 점근 표기법은 O(f(x))의 형식으로 표기되며 영어로는 Big O notation이다. O(f(x))=g(x)가 의미하는 바는 f(x)에 비해 g(x)의 값이 일정 범위 내에서 항상 같거나 떨어진다는 것이다. 콜라츠 추측은 이 Big O notation에 의한 분류에서 야생 함수로 분류된다. 그리고 야생 함수이기 때문에 헬게이트가 오픈된다. 증가율이 항상 높기 때문. 이것 때문에 심지 namu.wiki https://terms.naver.com/entry..
Java의 비트 연산자 이용법 세상에 쓰지 않는 기술은 없다. 연산자의 최종 보스 냄새가 나는 "비트 연산자!!!!!"라는 다소 무시무시해 보이는 이름은 우리와 강사님을 떨게 만들었고, 실전에서 잘 안 쓴다는 이유로 그냥 생략했다. 다만 두 번째엔 굉장한 탐구적인 태도를 가진 강사님이 설명해줬는데, 조금 정리가 필요할 것 같다. Java의 연산자 중에는 01010111 과 같이 2진수 문자의 특정한 부분을 변경할 수 있는 비트와 관련된 연산자들이 몇 개 있는데, 수업에서 들었던 활용법을 복습 겸 써보려고 한다. 우리가 색상을 숫자로 표현할 때 다음과 같은 치수를 종종 본 적이 있었을 것이다. (물론 우리가 쓰는 색상은 32비트이기 때문에 이것과는 좀 다르다.) Color=0xFFFF, 0x91F5, 0xCD59... 여기서 0x는 1..
6. 클래스_연습문제(은행 계좌) - 키보드로부터 계좌 정보를 입력받아서, 계좌를 관리하는 프로그램입니다. 실행 결과를 보고, 알맞게 BankApplication 클래스의 Method를 작성해보세요. //Account.java public class Account { private String ano; private String owner; private int balance; public Account(String ano, String owner, int balance) { this.ano = ano; this.owner = owner; this.balance = balance; } public String getAno() { return ano; } public void setAno(String ano) { this.ano = ano..
5. 참조 타입_연습문제 - 다음은 키보드로부터 학생 수와 각 학생들의 점수를 입력받아서, 최고 점수 및 평균 점수를 구하는 프로그램입니다. 실행 결과를 보고, 알맞게 작성해보세요. import java.util.Scanner; public class Exercise09 { public static void main(String[] args) { boolean run = true; int studentNum = 0; int[] scores = null; Scanner sc = new Scanner(System.in); while (run) { System.out.println("-----------------------" + "--------------------------"); System.out.println("1.학생수 |..
5. 참조 타입 - 배열 값 목록으로 배열 생성 public class ArrayCreateByValueListExample1 { public static void main(String[] args) { int[] scores = { 83, 90, 87 }; //int 데이터타입[] 변수 scores = {값들} System.out.println("scores[0] : " + scores[0]); //배열의 첫번째 System.out.println("scores[1] : " + scores[1]); //배열의 두번째 System.out.println("scores[2] : " + scores[2]); //배열의 세번째 int sum = 0; for (int i = 0; i < 3; i++) { sum += scores[..
4. 조건문과 반복문_활용문제 - if-else if-else문 및 활용 //점수를 입력 후 점수값에 따라 등급을 나눠 다르게 출력 //2자리 이상 또는 1자리의 문자열이 들어갈 시, // 올바른 값을 입력하라고 출력 import java.util.Scanner; public class IfElseIfElseExample2 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); char tmp; boolean output = true; System.out.print("점수를 입력하세요>"); String input = sc.nextLine(); int cnt = 0; int cntNum = 0; // while에 비해 for문이 목적을 분명히 알려..
3. 연산자_연습문제 4. 534자루의 연필을 30명의 학생들에게 똑같은 개수로 나누어 줄 때 학생당 몇 개를 가질 수 있고, 최종적으로 몇 개가 남는지를 구하는 코드입니다. #1과 #2에 들어갈 알맞은 코드를 작성하세요. public class Exercise04 { public static void main(String[] args) { int pencils = 534; int students = 30; // 학생 한 명이 가지는 연필 수 int pencilsPerStudent = pencils / students; // #1 System.out.println("학생 한 명당 연필 수 : " + pencilsPerStudent); // 남은 연필 수 int pencilsLeft = pencils % students; //..
3. 연산자 * 생각해보니, public class에 파일 이름이 있었네? 더이상 주석으로 파일 이름 안 달아도 되겠다.. (여태 뻘짓했구나.. 코드초보는 또 하나 배웁니다..또르륵) * 개념을 여기에 다 쓰기엔 여백과 시간이 부족해, 자세한 설명은 생략한다. 여기엔 코드와 주석 위주로 작성하겠다. 단항 연산자 - 부호 연산자 (Sign Operator) public class SignOperatorExample { public static void main(String[] args) { int x = -100; int result1 = +x; int result2 = -x; System.out.println("result1= " + result1); System.out.println("result2= " + res..