01-3 자바 프로그램 개발 과정 자바 프로그램을 개발하기 위해 파일 확장명이 .java인 텍스트파일을 생성하고, 자바 언어로 코드를 작성해야한다. 이렇게 만들어진 자바 소스파일을 컴파일러인 javac명령어로 컴파일한다. 컴파일이 성공하면 확장명이 .class인 바이
String변수나 배열 같은 곳에 많은 양의 데이터들이 들어가 있을 경우 자신이 바꾸고자 하는 값만 골라서 바꾸기가 쉽지않다.이럴 때 유용하게 쓰일 수 있는 함수가 바로 Replace이다. 문자열 치환 함수 Replace, ReplaceAll, ReplaceFirst
문자열변수명.toLowerCase()문자열을 모두 소문자로 변환 후 문자열로 반환한다.\-> 따라서, 저장하고싶으면 해당 문자열로 다시 꼭 받아줘야함문자열변수명.toUpperCase()문자열을 모두 대문자로 변환 후 문자열로 반환한다. \-> 따라서, 저장하고싶으면 해
대문자인지 구별소문자인지 구별숫자인지 구별boolean isDigit(char ch)boolean isDigit(int codePoint) : codePoint는 Unicode값예시를 살펴보자. isUpperCase(), isLowerCase(), isDigit()는
String의 멤버 함수로 substring()과 split() 두가지가 가장 흔하게 쓰이는 방식이다.substring() 함수는 시작지점과 끝지점을 파라미터로 전달받아서 문자열을 자른다.문자열변수명.substring(시작지점, 끝지점) : 시작지점 ~ (끝지점-1)까
5/100을 하면 수학적으로는 0.05이다.하지만 이렇게 나누면 프로그래밍에서는 정수 0이 return된다.리턴받는 변수를 double형으로 선언해도 0.05는 반환되지않는다.int,long형 변수는 아무리 나눗셈을 해도 소수점은 없애고 정수만 리턴한다.소수점이 제대로
실수의 소수점 원하는 자리까지 표시하는 방법을 알아보자.DecimalFormat 클래스 사용! DecimalFormat 클래스 선언하며 원하는 자리 수 설정format 함수 호출해서 원하는 값 넣기 정수 표현 : "- 실수 부분만 원하는 자리수 맞춰주기!참고https&
프로그래밍에서는 밑이 2인로그를 많이 사용한다.하지만, Java에서는 불친절하게 밑이 10인 상용로그와 밑이 e인 자연로그를 위한 api만 제공된다.Math.log(double d) : 밑이 자연대수 e인 자연로그 자연로그함수이다. Math.log10(double d)
🙋🏻♀️이진탐색 이용!java.lang.NullPointerException이 났다.find배열을 초기화하지 않았다.M을 입력받은 후, find = new int\[M];를 추가했다.예제1에 대한 결과가 이상하다.게다가 예제 1 입력 복붙했는데, '1 3 7 9
🙋 퀵 정렬 이용!제한시간은 2초인데, N의 최대는 5,000,000이다.퀵정렬은 O(NlogN)의 시간복잡도를 가지는데 계산하면 100,000,000. 즉 1억이므로 2초 시간내에 가능하다고 판단된다.<pivot 정하는 법>pivot == K : K번째 수를
해당 게시물은 'JAVA의 정석'을 정리한 내용입니다.Date 클래스 = 날짜와 시간을 다룰 목적으로 JDK1.0부터 제공되어온 클래스 (java.util에 속한 것)\-> 기능 부족했음Calendar 클래스 = JDK1.1부터 제공 시작\-> 몇 가지 단점들이 발견됨
🙋 재귀함수(DFS) + 자릿수 개념 + 가지치기DFS는 재귀함수의 형태를 띄고있다!재귀함수를 사용해야할 것 같으므로 DFS를 이용하는것이다. 재귀함수에 자릿수 개념을 붙여 구현한다.문제 조건에 맞도록 가지치기도 한다.처음에 내가 생각한대로 한건 결국 틀리기도했고,
객체지향 개념에서 모든 것은 객체로 다루어져야한다.자바에서 8개의 기본형은 객체로 다루지않는다! \-> 자바가 완전한 객체지향 언어가 아니라는 이야기를 듣는다..\-> 그러나, 보다 높은 성능을 얻을 수 있다.때로는 기본형 변수도 어쩔 수 없이 객체로 다뤄야하는 경우가
Math클래스 기본적인 수학계산에 유용한 메서드로 구성되어있다. random() : 임의의 수를 얻을 수 있다 round() : 반올림 Math클래스의 생성자는 접근 제어자가 private이기에 다른 클래스에서 Math인스턴스를 생성할 수 없도록 되어있다. 클래스 내
String 클래스 : 인스턴스 생성할 때, 지정된 문자열 변경불가StringBuffer클래스 : 변경가능 \-> 문자열 편집 위한 버퍼가 있으며, 인스턴스 생성시 그 크기 지정 가능 \-> 문자열이 버퍼 길이 넘어서면 버퍼의 길이를 늘려주는 작업이 추가진행되므로 작업
Double-Ended Queue의 줄임말 큐의 양쪽으로 엘리먼트의 삽입과 삭제를 수행할 수 있는 자료구조를 의미어떤 쪽으로 입력하고 어떤 쪽으로 출력하느냐에 따라서 스택(Stack)으로 사용할 수도 있고, 큐(Queue)로도 사용할 수 있다. 특히 한쪽으로만 입력 가
if문 보다 좀 더 정형화된 조건 판단문이다.switch/case문 구조입력변수의 값과 일치하는 case 입력값(입력값1, 입력값2, ...)이 있다면 해당 case문에 속한 문장들이 실행된다. case문에 break가 있으면 switch문을 빠져나간다. 만약 brea
문자열을 한 글자씩 쪼개서 char타입의 배열에 집어넣어주는 메소드이다.추가로, char형 배열을 합쳐서 하나의 String(문자열)로 만들 수 있다.
크기를 비교하는문제(두 숫자의 합..)는 값을 정렬하면 문제를 더 쉽게 풀 수 있다!시간제한은 2초이고, N의 최대범위가 15,000이므로 O(NlogN)시간복잡도 알고리즘을 사용해도 괜찮다. 일반적으로 정렬 알고리즘의 시간 복잡도는 O(NlogN)이다.즉, 정렬을 사
투포인터 이용! O(N)N이 10,000,000으로 꽤 크다.시간제한은 2초이므로, O(NlogN)까지만가도 2초가 넘는다.따라서 O(N)으로 해결해야하며, 투포인터는 이에 해당한다.IDE에서 돌리고 예제(15)를 입력했을 때 결과가 0으로 나왔다.우선 for문의 증감