본문 바로가기
728x90

Java121

[Java] 백준 1546 평균 - 배열과 리스트(2) 백준 1546 평균 문제 세준이는 기말고사를 망쳤다. 세준이는 점수를 조작해서 집에 가져가기로 했다. 일단 세준이는 자기 점수 중에 최댓값을 골랐다. 이 값을 M이라고 한다. 그리고 나서 모든 점수를 점수/M*100으로 고쳤다. 예를 들어, 세준이의 최고점이 70이고, 수학점수가 50이었으면 수학점수는 50/70*100이 되어 71.43점이 된다. 세준이의 성적을 위의 방법대로 새로 계산했을 때, 새로운 평균을 구하는 프로그램을 작성하시오. 입력 첫째 줄에 시험 본 과목의 개수 N이 주어진다. 이 값은 1000보다 작거나 같다. 둘째 줄에 세준이의 현재 성적이 주어진다. 이 값은 100보다 작거나 같은 음이 아닌 정수이고, 적어도 하나의 값은 0보다 크다. 출력 첫째 줄에 새로운 평균을 출력한다. 실제 .. 2022. 10. 5.
[Java] 백준 11720 숫자의 합 - 배열과 리스트(1) 백준 11720 숫자의 합 문제 N개의 숫자가 공백 없이 쓰여있다. 이 숫자를 모두 합해서 출력하는 프로그램을 작성하시오. 입력 첫째 줄에 숫자의 개수 N (1 ≤ N ≤ 100)이 주어진다. 둘째 줄에 숫자 N개가 공백없이 주어진다. 출력 입력으로 주어진 숫자 N개의 합을 출력한다. 제출 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int N = sc.nextInt(); String sN = sc.next(); char[] cN =sN.toCharArray(); int sum = 0; for (int i = 0; iint로 } .. 2022. 10. 4.
[Java/알고리즘] 디버깅의 중요성 * 디버깅(Debugging) 문법 오류나 논리 오류를 찾아 바로잡는 과정 - 문법 오류 : 컴파일러가 자동으로 찾아 줌 - 논리 오류 : 코드가 사용자의 의도와 다르게 동작. 다양한 형태로 발생함. * 디버깅의 중요성 코딩 테스트에서 index 범위 차이나 자료형 실수 같은 이유로 떨어지곤 한다. 디버깅 알아두는 것뿐만 아니라 반드시 익히고 코딩 테스트에 응시해야 한다. * 디버깅하는 법 1) 코드에서 디버깅하고자 하는 줄에 중단점을 설정한다.(여러 개 설정할 수 있음) 2) IDE의 디버깅 기능을 실행하면 코드를 1줄씩 실행하거나 다음 중단점까지 실행할 수 있으며, 이 과정에서 추적할 변숫값도 지정할 수 있다. (변숫값이 자신이 의도한 대로 바뀌는지 파악) 3) 변숫값 이외에도 원하는 수식을 입력해 .. 2022. 9. 30.
[Java/알고리즘] 알고리즘과 시간 복잡도 / 로직 개선하기 * 알고리즘에서의 시간 복잡도 : 연산 횟수 일반적으로 수행 시간은 1억 번의 연산을 1초의 시간으로 간주하여 예측한다. * 시간 복잡도 유형 빅-오메가(Ω(n)) : 최선일 때의 연산 횟수 표기법(Best case) 빅-세타(Θ(n) : 보통일 때의 연산 횟수 표기법(Average case) 빅-오(O(n)) : 최악일 때의 연산 횟수 표기법(Worst case) * 시간 복잡도 예제 코드 public class timeComplexity{ public static void main(String[] args) { int randNumber = (int)(Math.random() * 100); for(int i = 0; i < 100; i++) { if(i == randNumber) { System.ou.. 2022. 9. 29.
[JAVA 기초] 15 자바 입출력 (2) [完] *Reader 문자 단위로 읽는 스트림 중 최상위 스트림으로 다음 하위 클래스를 주요 사용 스트림 클래스 설명 FileReader 파일에서 문자 단위로 읽는 스트림 클래스 InputStreamReader 바이트 단위로 읽은 자료를 문자로 변환해 주는 보조 스트림 클래스 BufferedReader 문자로 읽을 때 배열을 제공하여 한꺼번에 읽을 수 있는 기능을 제공해 주는 보조 스트림 메서드 설명 int read() 파일로부터 한 문자를 읽고 반환 int read(char[] buf) 파일로부터 buf 배열에 문자를 읽음 int read(char[] buf, int off, int len) 파일로부터 buf 배열에 off 위치에서부터 len 개수만큼 문자를 읽음 void close() 스트림과 연결된 파일 .. 2022. 8. 23.
[JAVA 기초] 15 자바 입출력 (1) *스트림 입출력 장치는 다양하기 때문에 장치에 따라 입출력을 다르게 구현하면 호환성이 떨어지는 문제가 생김 ->이를 해결하기 위해 자바는 입출력 장치와 무관하고 일관성 있게 프로그램을 구현할 수 있도록 일종의 가상 통로인 스트림을 제공 네트워크에서 유래된 용어로 자료 흐름이 물이 흐름과 같다는 의미에서 사용함 자바의 모든 입출력은 스트림을 통해 이루어짐 *입력 스트림과 출력 스트림 - 입력 스트림 : 어떤 대상으로부터 자료를 읽어 들일 때 사용하는 스트림. 동영상 파일에서 자료를 읽을 때 사용 - 출력 스트림 : 편집 화면에 사용자가 쓴 글을 파일에 저장할 때 사용 스트림은 단방향으로 자료가 이동하기 때문에 입력과 출력을 동시에 할 수 없음 - 입력 스트림 : ImputStream이나 Reader로 끝나.. 2022. 8. 22.
[JAVA 기초] 14 예외 처리 *오류 - 실행 오류 : 실행 중인 프로그램이 의도하지 않은 동작을 하거나 프로그램이 중지되는 오류 - 버그 : 실행 오류 중 프로그램을 잘못 구현하려 의도한 바와 다르게 실행되어 생기는 오류 *오류와 예외 - 오류 : 프로그램에서 제어할 수 없는 시스템 오류 예) 사용 가능한 동적 메모리가 없는 경우나 스택 메모리의 오버플로가 발생한 경우 - 예외 : 프로그램에서 제어할 수 있는 오류 예) 프로그램에서 파일을 읽어 사용하려는 게 파일이 없는 경우 네트워크로 데이터를 전송하려는데 연결이 안 된 경우, 배열 값을 출력하는데 배열 요소가 없는 경우 *오류 클래스 오류 클래스는 Throwable 클래스에서 상속 받음 *예외 클래스의 종류 위는 하위 클래스중 사용 빈도가 높은 클래스 위주의 계층도다. 최상위 클.. 2022. 8. 21.
[JAVA 기초] 13 내부 클래스, 람다식, 스트림 *내부 클래스 - 내부 클래스 : 클래스 내부에 선언한 클래스 내부에 클래스를 선언하는 이유는 외부 클래스와 밀접한 관련이 있기 때문 *인스턴스 내부 클래스 인스턴스 변수를 선언할 때와 같은 위치에 선언 외부 클래스 내부에서만 생성하여 사용하는 객체를 선언할 때 사용 외부 클래스 생성 후 생성되어 생성전에는 인스턴스 내부 클래스를 사용할 수 없음 *정적 내부 클래스 static 예약어 사용. 외부 클래스 생성과 무관하게 내부 클래스 사용할 수 있음 정적 메서드에서는 인스턴스 변수를 사용할 수 없음 정적 내부 클래스에서 일반/정적 메서드 변수 사용 변수 유형 일반 메서드 정적 메서드 외부 클래스의 인스턴스 변수 X X 외부 클래스의 정적 변수 O O 정적 내부 클래스의 인스턴스 변수 O X 정적 내부 클래.. 2022. 8. 19.
[C/C++] 안드로이드에서 C/C++로 개발해보기 - 자바 클래스 메소드를 호출해서 더하기 출력하기(w. 필드 아이디로 데이터 읽고 입력하기) 두 개의 정수를 받아 자바 클래스 내에 존재하는 메소드를 호출하여 합산한 결과 출력하기 1. Native C++로 먼저 프로젝트를 만들어준다. 프로젝트명 : HelloWorld 2. activity_Main.xml 정수를 입력 받을 EditText 2개, 합계 Button 한 개, 결과를 나타낼 TextView 하나를 배치한다. 3. MainActivity.java package com.example.helloworld; import androidx.appcompat.app.AppCompatActivity; import android.os.Bundle; import android.util.Log; import android.view.View; import android.widget.Button; impo.. 2022. 8. 19.
728x90