[Programmers][Java] 크기가 작은 부분 문자열 (정수 데이터 타입 범위)
·
수수한 코딩세상/Code Kata
문제 설명숫자로 이루어진 문자열 `t`와 `p`가 주어질 때, `t`에서 `p`와 길이가 같은 부분문자열 중에서, 이 부분문자열이 나타내는 수가 `p`가 나타내는 수보다 작거나 같은 것이 나오는 횟수를 return하는 함수 solution을 완성하세요.예를 들어, `t`="3141592"이고 `p`="271" 인 경우, `t`의 길이가 3인 부분 문자열은 314, 141, 415, 159, 592입니다. 이 문자열이 나타내는 수 중 271보다 작거나 같은 수는 141, 159 2개 입니다. 제한 사항1 ≤ `p`의 길이 ≤ 18`p`의 길이 ≤ `t`의 길이 ≤ 10,000`t`와 `p`는 숫자로만 이루어진 문자열이며, 0으로 시작하지 않습니다. 입출력 예 입출력 예 설명입출력 예 #1 `t`="3141..
[Programmers][Java] 달리기 경주 (Hash Map 자료구조 사용)
·
수수한 코딩세상/Code Kata
문제 설명얀에서는 매년 달리기 경주가 열립니다. 해설진들은 선수들이 자기 바로 앞의 선수를 추월할 때 추월한 선수의 이름을 부릅니다. 예를 들어 1등부터 3등까지 "mumu", "soe", "poe" 선수들이 순서대로 달리고 있을 때, 해설진이 "soe"선수를 불렀다면 2등인 "soe" 선수가 1등인 "mumu" 선수를 추월했다는 것입니다. 즉 "soe" 선수가 1등, "mumu" 선수가 2등으로 바뀝니다.선수들의 이름이 1등부터 현재 등수 순서대로 담긴 문자열 배열 `players`와 해설진이 부른 이름을 담은 문자열 배열 `callings`가 매개변수로 주어질 때, 경주가 끝났을 때 선수들의 이름을 1등부터 등수 순서대로 배열에 담아 return 하는 solution 함수를 완성해주세요. 제한 사항5..
[Programmers][Java] 제일 작은 수 제거하기 (배열의 크기는 0이 될 수 없다)
·
수수한 코딩세상/Code Kata
문제 설명정수를 저장한 배열, arr에서 가장 작은 수를 제거한 배열을 리턴하는 함수, solution을 완성해 주세요. 단, 리턴하려는 배열이 빈 배열인 경우엔 배열에 -1을 채워 리턴하세요. 예를 들어 arr이 [4,3,2,1]인 경우는 [4,3,2]를 리턴하고, [10]면 [-1]을 리턴 합니다. 제한 사항arr은 길이 1 이상인 배열입니다.인덱스 i, j에 대해 i ≠ j이면 arr[i] ≠ arr[j] 입니다. 입출력 예 코드 생각배열의 크기가 1이면 해당 수가 제일 작은 수이기 때문에 -1을 리턴하도록 배열 크기를 체크해야겠다.배열중에서 제일 작은 수의 인덱스 값을 구해서 제거해야겠다.제일 작은 수의 인덱스 값을 제외한 나머지를 새로운 배열에 넣어서 리턴해 주어야겠다. Solution.java..
[Java] JVM Method Area(메서드 영역, Static Area) & Stack Area(스택 영역) & Heap Area(힙 영역)
·
수수한 코딩세상/Java
JVM 이란JVM이란 Java Virtual Machine의 약자로, 자바 가상 머신입니다. JVM은 소프트웨어로서 Java의 바이트 코드를 해석하여 서로 다른 플랫폼에서 자바 프로그램이 실행될 수 있도록 동일한 환경을 만들어 주는 소프트웨어입니다. 그렇기 때문에 OS에 상관없이 Java 파일을 실행시켜주어 Java 언어가 플랫폼에 종속되지 않고, 독립적인 언어가 될 수 있었습니다.하지만 JVM은 플랫폼마다 서로 다르게 작성되어 배포되며 플랫폼 종속적입니다. JVM이 플랫폼에 종속적이지만 그 소프트웨어 위에서 구동되는 Java 언어는 플랫폼에 종속적인 부분을 JVM이 처리해 줌으로써 플랫폼에 종속되지 않고 독립적일 수 있게 된 것입니다.JVM은 자바 개발사인 오라클은 물론, IBM, 마이크로소프트 등 다..
[Java] 호출 방식으로 알아보는 인스턴스 멤버 & 클래스 멤버 차이
·
수수한 코딩세상/Java
Java 프로그램은 최소 한 개의 클래스로 구성되어 있습니다. 그리고 클래스는 필드(field, 멤버 변수) 또는 메서드(method, 멤버 함수)로 구성되어 있습니다.정확하게는 클래스를 구성하는 요소는 필드, 생성자, 메서드입니다. 하지만 생성자는 클래스 멤버는 아닙니다. 생성자는 인스턴스화 되어 객체를 생성할 때 객체의 초기화를 위해 사용되는 코드 블럭이기 때문입니다. 따라서, 생성자는 자바 클래스의 멤버가 아니며, 멤버가 아니기 때문에 상속되어 오버라이딩 되는 대상이 될 수 없습니다.클래스 구성요소로는 필드, 생성자, 메서드 가 맞지만, 클래스 멤버는 필드와 메서드만 가능합니다.그렇기 때문에 해당 글에서는 필드와 메서드를 중점적으로 설명하려 합니다. 해당 클래스를 구성하고 있는 필드와 메소드를 그 ..
[Java] 자바에서 입력 받는 방법 System.in & Scanner 클래스
·
수수한 코딩세상/Java
자바에서 사용자로부터 키를 입력받는 방법에 대해 정리해 보려고 합니다.보통 자바 문법을 학습하게 되면 사용자로 부터 키를 입력받을 때 다음과 같이 작성해야 한다고 배웁니다.//Scanner 객체 생성Scanner sc = new Scanner(System.in);//입력받은 문자열 변수에 저장String text = sc.nextLine();정확히 키 입력을 받을 때 사용하는 `Scanner`라는 것과 `System.in`이 무엇인지 그리고 어떻게 키를 입력받아서 화면에 출력되는지에 대해 좀 더 자세히 정리해 보려 합니다. System.in`System.in`은 키보드 장치를 직접적으로 제어하고 사용자로 부터 키를 입력받는 표준 입력 스트림 객체입니다. 사용자가 키보드로 입력을 하면 `System.in`..
[Java] 랜덤 닉네임 생성기
·
수수한 코딩세상/Java
문제사용자는 최소 27가지 이상의 닉네임 중 하나를 랜덤으로 출력할 수 있습니다. (아래의 키워드를 사용해주세요!)기철초풍, 멋있는, 재미있는도전적인, 노란색의, 바보같은돌고래, 개발자, 오랑우탄 코드 생각각각의 닉네임을 랜덤으로 추출해야 하기 때문에 Random 라이브러리를 사용해야겠다고 생각했습니다.자료 구조형을 리스트로 하여서 추출해 보기로 했습니다.최종 출력될 자료형은 문자열이 되도록 해야겠다고 생각했습니다.랜덤 닉네임을 생성하는 것은 하나의 기능이기 때문에 실행될 Main Class와 분리해 개별 Class에 작성해야겠다고 생각했습니다. 개발 코드RandomNicknameGenerator Classimport java.util.Random;import java.util.ArrayList;impo..
[Programmers][Java] 두 수의 차
·
수수한 코딩세상/Code Kata
문제 설명정수 `num1` 과 `num2` 가 주어질 때, num1 에서 `num2` 를 뺀 값을 `return`하도록 `soltuion` 함수를 완성해주세요.제한 사항-50000 ≤ num1 ≤ 50000-50000 ≤ num2 ≤ 50000입출력 예입출력 예 설명입출력 예 #1`num1`이 2이고 `num2`가 3이므로 2 - 3 = -1을 `return`합니다.입출력 예 #2`num1`이 100이고 `num2`가 2이므로 100 - 2 = 98을 `return`합니다.Solution.javaclass Solution { public int solution(int num1, int num2) { //제한사항 조건문으로 설정 if(-50000조건문을 통해 제한 사항이 맞는..
수수한 코딩열공생
'자바' 태그의 글 목록