본문 바로가기

java

(25)
Programmers - 정렬 [H - Index] 1. 문제 문제 설명 H-Index는 과학자의 생산성과 영향력을 나타내는 지표입니다. 어느 과학자의 H-Index를 나타내는 값인 h를 구하려고 합니다. 위키백과1에 따르면, H-Index는 다음과 같이 구합니다. 어떤 과학자가 발표한 논문 n편 중, h번 이상 인용된 논문이 h편 이상이고 나머지 논문이 h번 이하 인용되었다면 h의 최댓값이 이 과학자의 H-Index입니다. 어떤 과학자가 발표한 논문의 인용 횟수를 담은 배열 citations가 매개변수로 주어질 때, 이 과학자의 H-Index를 return 하도록 solution 함수를 작성해주세요. 제한사항 과학자가 발표한 논문의 수는 1편 이상 1,000편 이하입니다. 논문별 인용 횟수는 0회 이상 10,000회 이하입니다. 입출력 예 citatio..
Programmers - 정렬 [가장 큰 수] 1. 문제 문제 설명 0 또는 양의 정수가 주어졌을 때, 정수를 이어 붙여 만들 수 있는 가장 큰 수를 알아내 주세요. 예를 들어, 주어진 정수가 [6, 10, 2]라면 [6102, 6210, 1062, 1026, 2610, 2106]를 만들 수 있고, 이중 가장 큰 수는 6210입니다. 0 또는 양의 정수가 담긴 배열 numbers가 매개변수로 주어질 때, 순서를 재배치하여 만들 수 있는 가장 큰 수를 문자열로 바꾸어 return 하도록 solution 함수를 작성해주세요. 제한 사항 numbers의 길이는 1 이상 100,000 이하입니다. numbers의 원소는 0 이상 1,000 이하입니다. 정답이 너무 클 수 있으니 문자열로 바꾸어 return 합니다. 입출력 예 numbers return [6..
Programmers - 정렬 [K번째 수] 1. 문제 문제 설명 배열 array의 i번째 숫자부터 j번째 숫자까지 자르고 정렬했을 때, k번째에 있는 수를 구하려 합니다. 예를 들어 array가 [1, 5, 2, 6, 3, 7, 4], i = 2, j = 5, k = 3이라면 array의 2번째부터 5번째까지 자르면 [5, 2, 6, 3]입니다. 1에서 나온 배열을 정렬하면 [2, 3, 5, 6]입니다. 2에서 나온 배열의 3번째 숫자는 5입니다. 배열 array, [i, j, k]를 원소로 가진 2차원 배열 commands가 매개변수로 주어질 때, commands의 모든 원소에 대해 앞서 설명한 연산을 적용했을 때 나온 결과를 배열에 담아 return 하도록 solution 함수를 작성해주세요. 제한사항 array의 길이는 1 이상 100 이하..
Java - [공식 Document 보는방법] 구글링하면서 블로그에 올라가는 Document를 보는 것은 바로바로 도움이 많이 되긴하지만 개념이 얕아 나의 온전한 지식이라고 보기는 힘들다. 온전한 개념을 알아야 응용이되며 훨씬 효율적인 코드로 발전될 것이다. 자바의 공식문서는 아래문서와 같다. docs.oracle.com/javase/7/docs/api/ Java Platform SE 7 docs.oracle.com 원하는 메소드 혹은 클래스를 검색하려면 그냥 ctrl + F를 눌러서 키워드로 검색한다. 각부분 별로 살펴보면 왼쪽 상단의 Packages는 자바가 기본적으로 제공하는 package들이다. 이러한 package안에 클래스들이 들어가있는데 해당클래스가 어느 package에 속해있는지 알고 싶다면 오른쪽 상단을 보면 클래스 이름위에 java..
Programmers - Hash [위장] 1. 문제 문제 설명 스파이들은 매일 다른 옷을 조합하여 입어 자신을 위장합니다. 예를 들어 스파이가 가진 옷이 아래와 같고 오늘 스파이가 동그란 안경, 긴 코트, 파란색 티셔츠를 입었다면 다음날은 청바지를 추가로 입거나 동그란 안경 대신 검정 선글라스를 착용하거나 해야 합니다. 종류이름 얼굴 동그란 안경, 검정 선글라스 상의 파란색 티셔츠 하의 청바지 겉옷 긴 코트 스파이가 가진 의상들이 담긴 2차원 배열 clothes가 주어질 때 서로 다른 옷의 조합의 수를 return 하도록 solution 함수를 작성해주세요. 제한사항 clothes의 각 행은 [의상의 이름, 의상의 종류]로 이루어져 있습니다. 스파이가 가진 의상의 수는 1개 이상 30개 이하입니다. 같은 이름을 가진 의상은 존재하지 않습니다. ..
Java - 실무6 [블랙잭] Card.java - 카드 클래스이다. public class Card { // 상수들, 바뀔 필요가 없기에 final로 정의하였고 getter, setter 함수가 없어도 된다. (상수기 떄문에) public final int suitNumber; public final int rankNumber; // 생성자 인수 : 카드 종류, 카드 랭크 public Card(int suitNumber, int rankNumber) { this.suitNumber = suitNumber; this.rankNumber = rankNumber; } // suitNumber의 getter // 현재카드의 suitNumber를 문자열출력의 모양으로 바꾼다. public String getSuit() { String sui..
Java - 9 [상속, super] 상속 - 상속이란 기존의 클래스를 모두 받고 이어서 확장시켜 새로운 클래스를 정의하는 개념이다. - 자동차라는 클래스가 있다면 트럭이라는 클래스는 자동차라는 클래스를 상속받아 확장한 클래스이다. 이때 상속받은 클래스는 자식클래스 모태가 되는 클래스는 부모클래스 라고 한다. public class BankAccount { private int balance; public int getBalance() { return balance; } public void setBalance(int balance) { this.balance = balance; } // 출금 public boolean withdraw(int amount) { if (balance >= amount) { balance -= amount; r..
Java - 실무5 [MP3플레이어] Artist.java - 아티스트는 여러 앨범을 갖고 있다, - Album ArrayList가 있어야한다. import java.util.ArrayList; //Artist는 여러 앨범을 가지고 있고 앨범들은 여러 곡들을 가지고 있다. public class Artist { private String artistName; // 여러 앨범들을 가지는 ArrayList ArrayList albums = new ArrayList(); // 생성자 인수 : artistName public Artist(String artistName){ this.artistName = artistName; } // 앨범 추가 메소드 public void addAlbum(Album album){ albums.add(album); ..