Java
[JAVA] Level.1 - 나머지가 1이 되는 수 찾기
코린이의 문제 풀이... 훈수 대환영!!! 문제 설명 자연수 n이 매개변수로 주어집니다. n을 x로 나눈 나머지가 1이 되도록 하는 가장 작은 자연수 x를 return 하도록 solution 함수를 완성해주세요. 답이 항상 존재함은 증명될 수 있습니다. 제한 사항 3≤n≤1,000,000 입출력 예 n result 10 3 12 11 입출력 예 설명 입출력 예 #1 10을 3으로 나눈 나머지가 1이고, 3보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 3을 return 해야 합니다. 입출력 예 #2 12를 11로 나눈 나머지가 1이고, 11보다 작은 자연수 중에서 문제의 조건을 만족하는 수가 없으므로, 11을 return 해야 합니다. 나의 풀이 class Solution { public..
[JAVA] Level.1 - 약수의 개수와 덧셈
코린이의 문제 풀이... 훈수 대환영!!! 문제 설명 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요. 제한사항 1 ≤ left ≤ right ≤ 1,000 입출력 예 left right result 13 17 43 24 27 52 입출력 예 설명 입출력 예 #1 다음 표는 13부터 17까지의 수들의 약수를 모두 나타낸 것입니다. 수 약수 약수의 개수 13 1,13 2 14 1,2,7,14 4 15 1,3,5,15 4 16 1,2,4,8,16 5 17 1,17 2 따라서, 13 + 14 + 15 - 16 + 17 = 43을 ..
[JAVA] Level.1 - 숫자 문자열과 영단어
코린이의 문제 풀이... 훈수 대환영!!! 문제 설명 네오와 프로도가 숫자놀이를 하고 있습니다. 네오가 프로도에게 숫자를 건넬 때 일부 자릿수를 영단어로 바꾼 카드를 건네주면 프로도는 원래 숫자를 찾는 게임입니다. 다음은 숫자의 일부 자릿수를 영단어로 바꾸는 예시입니다. 1478 → "one4seveneight" 234567 → "23four5six7" 10203 → "1zerotwozero3" 이렇게 숫자의 일부 자릿수가 영단어로 바뀌어졌거나, 혹은 바뀌지 않고 그대로인 문자열 s가 매개변수로 주어집니다. s가 의미하는 원래 숫자를 return 하도록 solution 함수를 완성해주세요 제한사항 1 ≤ s의 길이 ≤ 50 s가 "zero" 또는 "0"으로 시작하는 경우는 주어지지 않습니다 return ..
[JAVA] Level.1 - 이상한 문자 만들기
코린이의 문제 풀이... 훈수 대환영!!! 문제 설명 문자열 s는 한 개 이상의 단어로 구성되어 있습니다. 각 단어는 하나 이상의 공백문자로 구분되어 있습니다. 각 단어의 짝수번째 알파벳은 대문자로, 홀수번째 알파벳은 소문자로 바꾼 문자열을 리턴하는 함수, solution을 완성하세요. 제한 사항 문자열 전체의 짝/홀수 인덱스가 아니라, 단어(공백을 기준)별로 짝/홀수 인덱스를 판단해야합니다. 첫 번째 글자는 0번째 인덱스로 보아 짝수번째 알파벳으로 처리해야 합니다 입출력 예 s return "try hello world" "TrY HeLIO WoRID" 입출력 예 설명 "try hello world"는 세 단어 "try", "hello", "world"로 구성되어 있습니다. 각 단어의 짝수번째 문자를 ..
[JAVA] Level.1 - 나누어 떨어지는 숫자 배열
코린이의 문제 풀이... 훈수 대환영!!! 문제 설명 array의 각 element 중 divisor로 나누어 떨어지는 값을 오름차순으로 정렬한 배열을 반환하는 함수, solution을 작성해주세요. divisor로 나누어 떨어지는 element가 하나도 없다면 배열에 -1을 담아 반환하세요. 제한사항 arr은 자연수를 담은 배열입니다 정수 i,j에 대해 i ≠ j 이면 arr[i] ≠ arr[j] 입니다. divisor는 자연수입니다 array는 길이 1 이상인 배열입니다 입출력 예 arr divisor return [5, 9, 7, 10] 5 [5, 10] [2, 36, 1, 3] 1 [1, 2, 3, 36] [3, 2, 6] 10 [-1] 입출력 예 설명 입출력 예#1 arr의 원소 중 5로 나누어..
[JAVA] Level.1 - 부족한 금액 계산하기
코린이의 문제 풀이... 훈수 대환영!!! 문제 설명 새로 생긴 놀이기구는 인기가 매우 많아 줄이 끊이질 않습니다. 이 놀이기구의 원래 이용료는 price원 인데, 놀이기구를 N 번 째 이용한다면 원래 이용료의 N배를 받기로 하였습니다. 즉, 처음 이용료가 100이었다면 2번째에는 200, 3번째에는 300으로 요금이 인상됩니다. 놀이기구를 count번 타게 되면 현재 자신이 가지고 있는 금액에서 얼마가 모자라는지를 return 하도록 solution 함수를 완성하세요. 단, 금액이 부족하지 않으면 0을 return 하세요. 제한사항 놀이기구의 이용료 price : 1 ≤ price ≤ 2,500, price는 자연수 처음 가지고 있던 금액 money : 1 ≤ money ≤ 1,000,000,000, ..
[JAVA] Level.1 - 예산
코린이의 문제 풀이... 훈수 대환영!!! 문제 설명 S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 없습니다. 그래서 최대한 많은 부서의 물품을 구매해 줄 수 있도록 하려고 합니다. 물품을 구매해 줄 때는 각 부서가 신청한 금액만큼을 모두 지원해 줘야 합니다. 예를 들어 1,000원을 신청한 부서에는 정확히 1,000원을 지원해야 하며, 1,000원보다 적은 금액을 지원해 줄 수는 없습니다. 부서별로 신청한 금액이 들어있는 배열 d와 예산 budget이 매개변수로 주어질 때, 최대 몇 개의 부서에 물품을 지원할 수 있는지 return 하도록 solution 함수를 완..
[JAVA] Level.1 - 내적
코린이의 문제 풀이... 훈수 대환영!!! 문제 설명 길이가 같은 두 1차원 정수 배열 a, b가 매개변수로 주어집니다. a와 b의 내적을 return 하도록 solution 함수를 완성해주세요. 이때, a와 b의 내적은 a[0]*b[0] + a[1]*b[1] + ... + a[n-1]*b[n-1] 입니다. (n은 a, b의 길이) 제한 사항 a, b의 길이는 1 이상 1,000 이하입니다. a, b의 모든 수는 -1,000 이상 1,000 이하입니다. 입출력 예 a b result [1,2,3,4] [-3,-1,0,2] 3 [-1,0,1] [1,0,-1] -2 입출력 예 설명 입출력 예 #1 a와 b의 내적은 1*(-3) + 2*(-1) + 3*0 + 4*2 = 3 입니다. 입출력 예 #2 a와 b의 ..
[JAVA] 예외 처리
에러(오류) 종류 시스템 에러: 컴퓨터의 오작동으로 인해 발생하는 에러 ⇒ 소스코드로 해결이 안됨( 가장 심각한 에러) 컴파일 에러: 소스코드상의 문법적인 문제로 발생하는 에러 ⇒ 소스코드 수정으로 문제 해결 가능(빨간 밑줄로 알려줌) 런타임 에러: 소스코드 상으로는 문제가 없는데 프로그램 실행 중 발생하는 에러 ⇒ 사용자의 잘못일 수도 있고, 개발자가 예측 가능한 경우를 제대로 처리 안해놓은 것 일수도 있음 논리 에러: 소스코드 상의 문법적인 문제도 없고(빨간 밑줄이 없다), 실행했을 때도 굳이 문제가 되지 않지만 프로그램 의도상 맞지 않는 오류 ⇒ 예를 들면 true 값이 들어가야 하는데 false가 들어가서 내 의도와 정반대로 실행되는 경우 시스템 에러를 제외한 컴파일 에러, 런타임 에러, 논리 에..
[JAVA] 인터페이스
[인터페이스] 상수 필드(static final)와 추상 메소드(abstract)들로만 이루어진 추상클래스의 변형체(종특) 표현법 접근제한자 interface 인터페이스명{ //필드부=> 상수 필드만 작성(static final) /*public static final*/ int NUM=10; //인터페이스에는 상수 필드만 정의할 수 있기 때문에 애초에 앞의 public static final은 생략 가능하다 //메소드부=> 추상 메소드만 작성(abstract) /*public abstact*/ void eat(); void sleep(); //인터페이스에는 추상메소드만 정의할 수 있기 때문에 애초에 앞의 public abstract는 생략 가능하다 } 특징 인터페이스에서 필드는 무조건 “상수 필드”로 ..