반응형

전체 글 77

[JAVA] Enum 으로 Singleton만들기

싱글톤(Singleton) 최초 한번만 인스턴스를 생성하여 사용하는 디자인패턴. 생성자가 여러 차례 호출되더라도 실제로 생성되는 객체는 하나이므로 최초 생성 이후에 호출된 생성자는 최초에 생성한 객체를 반환한다. public enum Singleton { INSTANCE; private String name; private Singleton(String name) { this.name = name; } public Singleton getInstance() { return INSTANCE; } } thread safe 스레드 관련된 코드가 없어져서 간단해진다. Serialization을 스스로 해결.

JAVA_기초 공부 2023.02.17

[JAVA] try-catch-finally / try with resources

try-catch-finally //서버 소켓 준비 ServerSocket serverSocket = new ServerSocket(5555); for (int i = 0; i < 100; i++) { Socket client = null; InputStream fin = null; OutputStream out = null; try{ //연결 받기 client = serverSocket.accept(); System.out.println(client); //파일 InputStream 연결 fin = new FileInputStream("C:\\파일위치"); //OutputStream 뽑기 out = client.getOutputStream(); //읽고 쓰기 byte[] buffer = new byte..

JAVA_기초 공부 2023.02.17

[JAVA] x만큼 간격이 있는 n개의 숫자

문제 설명 함수 solution은 정수 x와 자연수 n을 입력 받아, x부터 시작해 x씩 증가하는 숫자를 n개 지니는 리스트를 리턴해야 합니다. 다음 제한 조건을 보고, 조건을 만족하는 함수, solution을 완성해주세요. 제한 조건 x는 -10000000 이상, 10000000 이하인 정수입니다. n은 1000 이하인 자연수입니다. 코드 class Solution { public long[] solution(int x, int n) { long[] answer = new long[n]; for(int i=0; i

[JAVA] 직사각형 별 찍기

직사각형 별찍기 이 문제에는 표준 입력으로 두 개의 정수 n과 m이 주어집니다. 별(*) 문자를 이용해 가로의 길이가 n, 세로의 길이가 m인 직사각형 형태를 출력해보세요. 제한 조건 n과 m은 각각 1000 이하인 자연수입니다. 코드 public static void main(String[] args) { Scanner sc = new Scanner(System.in); int a = sc.nextInt(); int b = sc.nextInt(); for (int i = 0; i < b; i++) { for (int j = 0; j < a; j++) { System.out.print("*"); } System.out.println(); } }

[JAVA] 제일 작은 수 제거하기

문제설명 정수를 저장한 배열, arr 에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴 하고, [10]면 [-1]을 리턴 합니다. [제한 조건] arr은 길이 1 이상인 배열입니다. 인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. [입출력 예] arr return [4,3,2,1] [4,3,2] [10] [-1] 코드 class Solution { public int[] solution(int[] arr) { int[] answer = new int[arr.length-1]; int min = 1000000..

[JAVA] 삼진법 뒤집기

문제 설명 자연수 n이 매개변수로 주어집니다. n을 3진법 상에서 앞뒤로 뒤집은 후, 이를 다시 10진법으로 표현한 수를 return 하도록 solution 함수를 완성해주세요. [제한사항] n은 1 이상 100,000,000 이하인 자연수입니다. [입출력 예] n result 45 7 125 229 코드 class Solution { public int solution(int n) { int answer = 0; String an = ""; while (n > 0){ an = (n % 3) + an; n /= 3; } StringBuffer strBuffer = new StringBuffer(); String reverse = strBuffer.append(an).reverse().toString();..

[JAVA] 자연수 뒤집어 배열로 만들기

문제 설명 자연수 n을 뒤집어 각 자리 숫자를 원소로 가지는 배열 형태로 리턴해주세요. 예를들어 n이 12345이면 [5,4,3,2,1]을 리턴합니다. 제한 조건 n은 10,000,000,000이하인 자연수입니다. [입출력 예] n return 12345 [5,4,3,2,1] 코드 class Solution { public int[] solution(long n) { String[] number = (String.valueOf(n).split("")); int[] answer = new int[number.length]; int total = (int)(Math.log10(n)+1); for (int i = 0; i

[JAVA] 짝수와 홀수

문제설명 정수 num이 짝수일 경우 "Even"을 반환하고 홀수인 경우 "Odd"를 반환하는 함수, solution을 완성해주세요. [제한 조건] num은 int 범위의 정수입니다. 0은 짝수입니다. [입출력 예] num return 3 "Odd" 4 "Even" 코드 class Solution { public String solution(int num) { String answer = ""; if(num % 2 == 0){ answer ="Even"; }else{ answer="Odd"; } return answer; } } 너무 쉬워서.. 오늘은 간단한 거 한게 더..

[JAVA] 핸드폰 번호 가리기

문제 설명 프로그래머스 모바일은 개인정보 보호를 위해 고지서를 보낼 때 고객들의 전화번호의 일부를 가립니다. 전화번호가 문자열 phone_number로 주어졌을 때, 전화번호의 뒷 4자리를 제외한 나머지 숫자를 전부 *으로 가린 문자열을 리턴하는 함수, solution을 완성해주세요. [제한 조건] phone_number는 길이 4 이상, 20이하인 문자열입니다. [입출력 예] phone_number return "01033334444" "*******4444" "027778888" "*****8888" 코드 class Solution { public String solution(String phone_number) { String answer = ""; for (int i = 0; i < phone_n..

반응형