셀프 넘버




1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
import java.util.ArrayList;
import java.util.Collections;
 
public class Main {
    public static void main(String[] args){
        ArrayList<Integer> list = new ArrayList<Integer>();
        for(int i=0; i<=10000; i++) {
            list.add(self_num(i));
            
        }
        Collections.sort(list);
        for(int i=0; i<=10000; i++) {
            if(!(list.contains(i))) {
                System.out.println(i);
            }
        }
    }
    static int self_num(int num) {
        int sum=0;
        String st_num = String.valueOf(num);
        sum+=num;
        for(int i=0; i<st_num.length(); i++) {
            sum+=Integer.parseInt(String.valueOf(st_num.charAt(i)));
        }
        return sum;
    }
}
 
 
cs


'백준 알고리즘 > JAVA' 카테고리의 다른 글

자바 백준 1764번 듣보잡  (1) 2018.09.02
자바 백준 5585번 거스름돈  (0) 2018.09.02
자바 백준 7568번 덩치  (1) 2018.08.25
자바 백준 1065번 한수  (0) 2018.08.23
자바 백준 2231번 분해합  (0) 2018.08.23


Set을 이용


ArrayList를 이용

'백준 알고리즘 > JAVA' 카테고리의 다른 글

백준 4673번 셀프 넘버  (0) 2019.01.21
자바 백준 5585번 거스름돈  (0) 2018.09.02
자바 백준 7568번 덩치  (1) 2018.08.25
자바 백준 1065번 한수  (0) 2018.08.23
자바 백준 2231번 분해합  (0) 2018.08.23


자바 백준 5585번 거스름돈


500엔부터 1엔까지 가장 적게 잔돈을 줄 수 있는 방법은 500엔부터 비교하며 계산하는 것이다.




'백준 알고리즘 > JAVA' 카테고리의 다른 글

백준 4673번 셀프 넘버  (0) 2019.01.21
자바 백준 1764번 듣보잡  (1) 2018.09.02
자바 백준 7568번 덩치  (1) 2018.08.25
자바 백준 1065번 한수  (0) 2018.08.23
자바 백준 2231번 분해합  (0) 2018.08.23

자바 백준 7568번 덩치


키와 몸무게를 비교해 둘다 큰사람이 있으면 그 사람의 순위를 1씩 더해준다.


'백준 알고리즘 > JAVA' 카테고리의 다른 글

자바 백준 1764번 듣보잡  (1) 2018.09.02
자바 백준 5585번 거스름돈  (0) 2018.09.02
자바 백준 1065번 한수  (0) 2018.08.23
자바 백준 2231번 분해합  (0) 2018.08.23
자바 백준 2309번 일곱 난쟁이  (0) 2018.08.16

자바 백준 1065번 한수


풀이 : 2자리수 이하의 모든 값은 한수이다. 3자리수에서는 두 번째 자리의 수와 첫 번째 자리수의 차가 세 번째 자리의 수와 두 번째 자리수의 차와 같으면 한수로 정의한다. 


'백준 알고리즘 > JAVA' 카테고리의 다른 글

자바 백준 5585번 거스름돈  (0) 2018.09.02
자바 백준 7568번 덩치  (1) 2018.08.25
자바 백준 2231번 분해합  (0) 2018.08.23
자바 백준 2309번 일곱 난쟁이  (0) 2018.08.16
자바 백준 3653번 영화 수집  (0) 2018.08.14

자바 백준 2231번 분해합


풀이: 입력받은 값에서 -1씩 하여 for문을 돌린다. for 문 안의 그 수의 값과 각 자리의 수의 합을 더해 맨처음 입력받는 값과 비교하여 맞으면 result 값을 교체하면된다.


코드

'백준 알고리즘 > JAVA' 카테고리의 다른 글

자바 백준 7568번 덩치  (1) 2018.08.25
자바 백준 1065번 한수  (0) 2018.08.23
자바 백준 2309번 일곱 난쟁이  (0) 2018.08.16
자바 백준 3653번 영화 수집  (0) 2018.08.14
자바 백준 9375번 패션왕 신해빈  (0) 2018.08.13




자바 백준 3653번 영화 수집


시간초과 ㅇㅇㅇㅇㅇㅇㅇㅇㅇ아ㅏㅏㅏㅏㅏ




자바 백준 9375번 패션왕 신해빈


 이 문제는 공식을 먼저 찾아야 쉽게 풀 수 있는 문제라고 생각한다.

그리고 같은 이름을 가진 의상이 존재하지 않는다는 조건에서 의상의 이름은 문제를 푸는데 없어도 된다는 점을 잘 파악하여야한다. 즉, 의상의 종류만으로 문제를 풀 수 있다는 것이다.

 다음은 그 공식을 표로 나타낸 그림이다.


                             여기서 공식을 찾을 수 있다. 공식 = (같은 종류의 의상 수 +1)*(같은 종류의 의상 수 +1) *....... *(같은 종류의 의상 수 +1)-1

 

같은 종류의 의상이 들어오면 HashMap을 이용해 그에 해당하는 키값의 value값을 1씩 증가시키고 새로운 의상이 들어오면 그에 해당하는 키값의 value값에 새로운 숫자 1을 넣는다. 이것을 Map 내장 메소드 HashMap.values()를 사용하여 모든 키값의 value 값을 불러와 위와 같은 공식으로 계산하면 된다.




자바 백준 7785번 회사에 있는 사람


회사에 동명이인이 없다는 부분에서 LIST가 아니라 SET이 쓰는 것이 맞다.

LIST를 사용한 코드와 SET을 사용한 코드 둘 다 업로드 하려고 한다.


LIST 같은 경우에는 인덱스로 객체를 관리하기 때문에 get으로 이래저래해서 답을 쉽게 얻을 수 있다.


Set은 인덱스로 객체를 관리하지 않기 때문에 데이터를 검색하기 위해서는 iterator() 메서드로 Iterator(반복자)를 생성하고 데이터를 가져와야 한다. 


+ Recent posts