✅ 문제 분석 🌱 배경지식 ✏️ 해설 👉 참고 > *
🌱 Java Stdin and Stdout I 배경지식 stdin(standard input) stdout(standard out)은 표준입력이라는 뜻이다. stdin에서 일반적으로 입력을 읽는 방법은 scanner 클래스를 사용하고 입력 스트림을 System.in으
문자열 포맷 출력 printf() System.out.printf(format, arguments)의 형식으로 작성. %n: 줄 바꿈(개행) %s: string 형식 출력 %d: integer 형식 출력 %f: float 형식 출력 %t: date, time 형식 출
HackerRank Java Loops I
거듭제곱 구하기: Math.pow()이 method는 입력값과 출력값이 모두 실수를 표현할 수 있는 double형이며,Math.pow(대상 숫자, 지수)의 형태로 입력해 주면 된다.Math 클래스가 제공하는 클래스는 전부 Static 하기 떄문에 객체를생성하지 않고도
각 자료형의 크기를 통해 숫자의 자리수를 판단할 수 있다.예컨대 long은 8byte 자료형인데, 1바이트 당 8비트가 들어가므로 총 64비트로 이루어진 숫자라는 의미가 된다. 컴퓨터는 모든 숫자를 이진수로 저장하기 때문에, 부호를 판별하기 위해 MSB라는 부분의 비트
🌱 배경지식 EOF End-of-file. 데이터 소스로부터 더 이상 읽을 수 있는 데이터가 없음을 나타내는 용어. Java에서 아래의 두가지 방식으로 처리할 수 있다. 1) scanner.hasNext() : 스캐너 객체로 입력값이 들어오는지 여부를 판단하는 함수
상태를 기록하고 처리 흐름을 제어하기 위한 boolean 변수이다. 조건에 따라 true or false를 나타내는 boolean타입의 변수이기 때문에 토글 기능에 사용하기도 한다. flag 사용 방법 예시 정적 초기화 블럭. 클래스에서 정적 변수나 매서드는 클래스
1) Integer.toString()Integer 클래스의 toString() method를 사용한다.2) String.valueOf()java.lang.String 클래스의 valueOf() method를 사용한다.3) "" + njava에서 문자열 오른쪽에 + o
자바 배열 (Array)배열은 자료형 타입 앞에 \[]을 붙여 표현한다. 배열 길이는 고정되어 있고, 배열의 값을 얻으려면 다음과 같이 인덱싱을 통해야 한다.weeks3은 배열의 네번째 항목(0부터 시작)에 있는 목요일이다.https://moonong.tist
이 추상 클래스는 수에 대한 전반적인 포맷 기능을 제공해 준다. 팩토리 패턴을 사용해 작성된 클래스이므로 new 연산자를 이용해 객체를 생성하는 것이 아닌 getInstance() method를 사용해 인스턴스를 얻는다. 이 클래스로 표현할 수 있는 포맷의 종류는 아래
🌱 배경지식 자바 문자열 길이 구하기 length() 문자열 길이를 구하고 위해서는 java.lang.String 클래스의 length() 메소드를 사용. 문자열의 길이 (16bit Unicode Character 갯수)를 리턴해준다. 문자열 비교 함수 compar
🌱 배경지식 ✏️ 해설 및 분석 👉 참고 > * https://docs.oracle.com/javase/8/docs/api/java/lang/String.html#substring-int-int-
문자열 s와 정수 k가 주어지면 사전순으로 길이가 k인 가장 작은 부분 문자열과 가장 큰 부분 문자열을 찾도록 함수를 완성해야 한다. string s: 문자열int k: 찾을 부분 문자열의 길이String s = "welcometojava"에 사전순으로 정렬된 길이 k
두 문자열 a,b가 동일한 빈도로 동일한 문자를 포함하면 아나그램이라고 부른다. 이 챌린지에서 대소문자 구분은 없다. 예를 들어 CAT의 아나그램은 CAT, ACT, tac, TCA, aTC, CtA이다.string a,b라는 파라미터가 첫번째, 두번째 string이며
✅ 문제 분석 madam, nurses run 처럼 앞에서 읽으나 뒤에서 읽으나 똑같은 단어나 문구를 palindrome(회문)이라고 한다. String A가 주어지면 회문일 때 Yes, 아니면 No를 프린트해주면 된다. 🌱 배경지식 1. 반복문 사용해서 문자열
정규 표현식 A-Za-z !,?.\_'@+와 매칭되는 String s가 주어지면 string을 토큰으로 split한다. 이때 토큰은 하나 이상의 연속적인 영어 알파벳이라고 정의한다. 그리고 토큰 수를 프린트하고 이어서 각 토큰을 새 라인에 프린트해준다. split(St
✅ 문제 분석 Regex를 사용해 쉽게 패턴을 매치하거나 찾을 수 있다. 패턴을 찾기 전 잘 정의된 syntax를 하나 특정해야 한다. 이 문제에서 패턴이 주어지면 그 syntax가 유효한지 확인해야 한다. 이 문제에서 Regex는 Pattern.compile 메서드를
회사 내부 네트워킹 플랫폼 username 운영정책을 업데이트 한다고 가정하고 푸는 문제.정책상 8자이상 30자미만, 알파벳, 숫자 그리고 \_ 로만 이루어질 수 있음. 대,소문자는 가능첫글자는 대문자든 소문자든 무조건 알파벳이어야 함. 일단 링크 참고하면서 필요한거
1보다 크면서 1과 자기 자신으로밖에 나누어 떨어지지 않는 소수에 관한 문제. large integer인 n이 주어지면, 자바의 Biginteger 클래스인 isProbablePrime 메소드를 사용해 prime인지 not prime인지 출력해주면 된다.Biginteg
✅ 문제 분석 이 문제에서는 큰 수를 더하거나 곱한다. 숫자가 너무 커서 long integer 같은 데이터 타입으로는 담을 수 없는 정도다. 자바 BigInteger 클래스의 빠와를 통해서 이 문제를 해결해보자! 두줄에 a,b 숫자가 주어진다. 두 숫자는 음이 아닌
배열은 같은 타입의 변수로 이루어진 유한 집합이다. 배열을 구성하는 각각의 값들을 배열 요소(element)라고 하며, 위치는 인덱스(index)라고 한다. 자바 인덱스는 0부터 시작하고, 0을 포함한 양의 정수만을 갖는다.1차원 배열은 그중에서 가장 기본적인 배열로,
2차원 배열이란 배열의 요소로 1차원 배열을 가지는 배열이다.1차원 배열의 배열 요소로 또 다른 1차원 배열을 사용하여 2차원 배열을 나타낼 수 있다.따라서 자바에서 2차원 배열은 다음과 같은 문법으로 선언된다.예시결과http://www.tcpschool.co
🌱 배경지식 ✏️ 해설 👉 참고 > *
🌱 배경지식 ArrayList란? 자바 List 인터페이스를 상속받은 여러 클래스 중 하나다. 일반 배열과 동일하게 연속된 메모리 공간을 사용하고, 인덱스는 0부터 시작한다. 크기가 고정인 Array와 다르게, ArrayList는 크기가 가변적으로 변한다. 내부적으
🌱 배경지식 break; vs continue; break문 자신이 포함된 가장 가까운 반복문을 벗어난다. break문은 while 반복문 내의 if 조건문에 포함되어 있기 떄문에 가장 가까운 반복문인 while문 전체를 벗어나 3번은 출력되지 않았다. conti
자바 맵은 대응관계를 쉽게 표현할 수 있게 해주는 자료형이다. Associative array, Hash라고도 불린다. Key-Value값을 쌍으로 갖는다.맵의 가장 큰 특징은 바로 이 쌍인데, 순차적으로 element값을 구하는 리스트나 배열과 달리key 값으로 va
Set 인터페이스의 구현 클래스다. a. 중복된 값을 허용하지 않고, 자동으로 제거해준다.따라서 값의 존재 유무를 파악할 때 사용할 수 있다. b. 입력된 순서도 보장되지 않는다. c. null을 값으로 허용한다. 선언기본 생성시 initial capacity(1
🌱 배경지식 문제분석 이 문제에서는 integer와 string이 있을 때 두 타입 모두를 프린트 할 수 있는 하나의 메소드인 printArray를 작성하는 문제다. (오버로딩을 사용해서는 안된다.) Generic 제네릭 메소드는 단일 메소드로 여러 데이터타입들을
ID, 이름, CGPA(누적 학점 평균)같은 학생 정보가 제공된다. 이 정보를 CGPA에 따라서 내림차순으로 재배열하는 문제다. 만약 두 학생의 CGPA가 같으면 이름에 따라서 알파벳 순으로 정리하고, 이름마저 같으면 ID에 따라서 순서를 정한다. (ID는 각기 고유한
첫 줄에 B1 B2 길이를 나타내는 정수 n과 수행할 작업 수 m이 한칸 띄어 입력된다.다음 줄부터는 위 다섯가지 형태 중 하나로 입력 된다.set에서 1,2는 각각 B1, B2를 의미한다.index의 숫자는 BitSet안의 비트 인덱스를 의미한다.이진연산 AND OR
상속에 관한 아주 간단한 문제.Animal 클래스를 상속 받아 새로운 메소드를 추가해주는 문제다.기존 주어진 walk, fly외에 sing() 메소드를 추가하고,"I am singing" 문자열을 프린트 해주면 된다.
Arithmetic이라는 클래스를 생성하고, 파라미터로 정수 2개를 가져서 그 정수의 합을 반환하는 add라는 메소드를 만들어준다. 다음으로 Adder라는 클래스를 만들어 Arithmetic을 상속 시킨다.
하나 이상의 추상 메소드를 포함하는 클래스를 가리켜서 추상 클래스라고 한다.그리고 추상 메소드는 서브 클래스에서 반드시 오버라이딩해야만 사용할 수 있는 메소드다. 추상 메소드는 선언부만 존재하고, 구현부는 없다. 구현부는 서브 클래스에서 오버라이딩 한 뒤에 사용하게 된
문제에서 제공되는 AdvanceArithmetic 인터페이스를 구현하는 MyCalculator 클래스를 만들어야 한다. divisor_sum 함수는 정수를 입력받아서 그 제수들을 다 더한 값을 프린트해주어야 한다. 상수, 변수, 식, 객체, 메소드 등이 다양한 자료형(
서브 클래스가 상위 클래스를 상속할때, 상위 클래스의 메소드도 함께 상속된다.하지만 오버라이딩으로 수퍼 클래스의 메소드를 재정의할수도 있다. 문제에서는 Sports 클래스를 상속하는 Soccer 클래스가 주어져 있다. 그리고 수퍼 클래스인 Sports 클래스의 getN
서브클래스의 메서드가 슈퍼클래스의 메서드를 재정의하는 경우에 super 키워드를 사용하여 재정의된 메서드를 호출할 수 있다.func() 함수를 호출하기 위해 super.func() 를 작성 하면 슈퍼클래스에 정의된 메서드를 호출한다.following text를 출력하도
Java instanceof 연산자는 객체 또는 인스턴스가 지정된 유형의 인스턴스인지 테스트하는 데 사용된다.Student, Rockstar, Hacker 클래스가 주어졌다.메인 메소드에서 이 클래스들의 여러 인스턴스로 ArrayList를 채웠다. count 메소드는
주로 List나 Set과 같은 컬렉션에서 요소들을 순차적으로 처리하기 위해 필요한 인터페이스다. List에 데이터를 담고 반복하는 방법for 문for-each문(향상된 for문)Iterator 반복자https://sas-study.tistory.com/82
예외 처리는 예외 발생시 응답하는 프로세스다. try문은 오류에 대한 코드 블록을 테스트할 수 있고catch문은 예외가 발생할 경우 수행할 코드가 작성된다.두개의 정수 x, y가 주어진다. x/y를 계산해야 하는데 만약 x,y가 32비트의 정수가 아니거나, y가 0이라
계산기를 구현해서 숫자의 거듭제곱을 계산한다.단일 메소드 long power(int, int)를 가진 MyCalculator 클래스를 만들어서 작성해야 한다. 파라미터로 n과 p 두 정수를 사용하는데,예컨대 n의 p 제곱 형태다.둘중 하나가 음수라면 메소드는 예외를 던
자바 리플렉션은 런타임에 클래스 속성을 검사하는 도구다. 예를 들어 getDeclaredMethods()를 사용하면 클래스의 공개 필드 목록을 검색할 수 있다.이 문제는 제공되는 solution 클래스의 미완성된 라인들을 채워서 Student 클래스의 모든 메소드를 알
✅ 문제 분석 🌱 배경지식 ✏️ 해설 👉 참고 > *
✅ 문제 분석 🌱 배경지식 ✏️ 해설 👉 참고 > *
✅ 문제 분석 Add 클래스와 메소드를 만들고 메소드가 function add에 전달된 수의 합을 출력하도록 해야 한다. 인풋에 정수를 포함하는 6줄이 있다. 아웃풋은 4줄만 출력된다. 각 라인은 메인 메소드의 변수로 전달된 정수의 합계가 출력되는 것. 🌱 배경지