백준 자바

Algorithms/백준

[백준] '단어 정렬' - Java

알파벳 소문자로 이루어진 N개의 단어가 들어오면 아래와 같은 조건에 따라 정렬하는 프로그램을 작성하시오. 길이가 짧은 것부터 길이가 같으면 사전 순으로 단, 중복된 단어는 하나만 남기고 제거해야 한다. 사전 프로그램을 만드는 문제이다. 대신 조건이 두가지있는데, 마냥 내림차순, 오름차순 정렬을 하는 것이 아닌 1. 길이가 짧은 것부터 우선순위 2. 그 후 길이가 같으면 사전순으로 조건을 어떻게 맞춰야할지 막막하기도 했다. Try 1) HashSet remove = new HashSet(); List input = new ArrayList(); // 1. 중복제거를 위해 HashSet에 값을 대입 for(int i = 0; i < N; i++) { remove.add(br.readLine()); } // ..

Algorithms/백준

[백준] '소트인사이드' - Java

배열을 정렬하는 것은 쉽다. 수가 주어지면, 그 수의 각 자리수를 내림차순으로 정렬해보자. 문제에서도 말했듯 배열을 정렬하는 것은 Arrays.sort() 메서드 사용이나, 변수사용으로 for문을 통해 정렬하는 방법 등 쉬울 수 있지만, 숫자가 주어지면 그 숫자를 각 토큰으로 판단하여 내림차순 정렬한 값을 반환해야한다. Answer 1) for(int i = 0; i < N.length(); i++) { sort[i] = N.charAt(i) - '0'; } Integer[] temp = Arrays.stream(sort).boxed().toArray(Integer[]::new); Arrays.sort(temp, Collections.reverseOrder()); String answer = ""; fo..

Algorithms/백준

[백준] '골드바흐의 추측' - Java

1보다 큰 자연수 중에서 1과 자기 자신을 제외한 약수가 없는 자연수를 소수라고 한다. 예를 들어, 5는 1과 5를 제외한 약수가 없기 때문에 소수이다. 하지만, 6은 6 = 2 × 3 이기 때문에 소수가 아니다. 골드바흐의 추측은 유명한 정수론의 미해결 문제로, 2보다 큰 모든 짝수는 두 소수의 합으로 나타낼 수 있다는 것이다. 이러한 수를 골드바흐 수라고 한다. 또, 짝수를 두 소수의 합으로 나타내는 표현을 그 수의 골드바흐 파티션이라고 한다. 예를 들면, 4 = 2 + 2, 6 = 3 + 3, 8 = 3 + 5, 10 = 5 + 5, 12 = 5 + 7, 14 = 3 + 11, 14 = 7 + 7이다. 10000보다 작거나 같은 모든 짝수 n에 대한 골드바흐 파티션은 존재한다. 2보다 큰 짝수 n이..

Algorithms/백준

[백준] '과제 안 내신 분..?' - Java

X대학 M교수님은 프로그래밍 수업을 맡고 있다. 교실엔 학생이 30명이 있는데, 학생 명부엔 각 학생별로 1번부터 30번까지 출석번호가 붙어 있다. 교수님이 내준 특별과제를 28명이 제출했는데, 그 중에서 제출 안 한 학생 2명의 출석번호를 구하는 프로그램을 작성하시오. 출석번호를 통해 과제를 제출안한 학생의 번호를 찾으면 되는 문제이다. HashMap의 개념을 알고 풀면 좋았겠지만 단순히 배열로 풀 수 있었다. for(int i = 1; i < 29; i++) { int in_class = sc.nextInt(); student[in_class] = 1; } student배열에 출석번호로 초기화를 해준다. 입력되는 출석번호가 없으면 그 출석번호는 과제를 제출하지 않은 것이다. 제출하지 않은 출석번호를 ..

LEFT
'백준 자바' 태그의 글 목록 (3 Page)