본문 바로가기

전체 글411

[백준] 2581번 : 소수 – JAVA [자바] https://www.acmicpc.net/problem/2581 2581번: 소수 M이상 N이하의 자연수 중 소수인 것을 모두 찾아 첫째 줄에 그 합을, 둘째 줄에 그 중 최솟값을 출력한다. 단, M이상 N이하의 자연수 중 소수가 없을 경우는 첫째 줄에 -1을 출력한다. www.acmicpc.net 문제 문제 풀이 백준 2581번 소수는 실버 5 난이도의 수학 문제이다. 이 문제에서는 입력으로 자연수 M과 N이 주어진다. 그리고 M이상 N이하인 소수들의 합과 소수의 최솟값을 출력하면 된다. 만약에 이 범위 안에 소수가 없을 때는 -1을 출력하면 된다. 이 문제는 소수 판별 알고리즘인 에라토스테네스의 체를 이용해서 풀 수 있다. 에라토스테네스의 체 이론을 공부하고 싶으면 밑에 있는 링크를 참고하면 되겠다.. 2022. 7. 16.
[백준] 2960번 : 에라토스테네스의 체 – JAVA [자바] https://www.acmicpc.net/problem/2960 2960번: 에라토스테네스의 체 2, 4, 6, 8, 10, 3, 9, 5, 7 순서대로 지워진다. 7번째 지워진 수는 9이다. www.acmicpc.net 문제 문제 풀이 백준 2960번 에라토스테네스의 체는 실버 4 난이도의 수학, 구현 및 에라토스테네스의 체 문제이다. 이 문제에서는 정수 N과 K가 주어진다. 2부터 N까지 에라토스테네스의 체 알고리즘을 적용시킨다고 할 때 K번째로 지우는 수를 출력하면 된다. 참고로 원래 에라토스테네스의 체 알고리즘에서는 숫자의 배수만 지운다. 즉, 예를 들어서 2의 배수를 지울 때 2는 원래는 안 지우는데 이 문제에서는 2도 같이 지워야 한다. 만약에 에라토스테네스의 체에 대해서 잘 모른다면 밑에 .. 2022. 7. 16.
[알고리즘] 버블 정렬 (Bubble Sort) 목차 버블 정렬이란? 버블 정렬이란 옆에 있는 값과 비교해서 더 작은 값을 반복적으로 앞으로 보내는 정렬 방법이다. 만약에 내림차순으로 정렬을 한다고 하면 옆에 있는 값과 비교해서 더 큰 값을 앞으로 보내면 된다. 우선 예시를 하나 살펴보겠다. 다음과 같은 배열을 오름차순으로 정렬한다고 가정하겠다. 우선 첫 번째와 두 번째 숫자, 즉 4와 2를 비교한다. 2가 4보다 더 작으니 더 작은 숫자인 2를 앞으로 보낸다. 그다음에는 두 번째와 세 번째 숫자, 즉 4와 1을 비교한다. 비교하고 더 작은 1을 앞으로 보낸다. 4와 5를 비교했을 때 4가 더 작으니 건너뛴다. 이 과정을 끝까지 반복하면 다음과 같다. 이 예시에서 알 수 있듯이 더 큰 숫자가 계속 뒤로 밀려나고 마지막에는 가장 큰 숫자가 맨 뒤로 밀려.. 2022. 7. 16.
[백준] 2775번 : 부녀회장이 될테야 – JAVA [자바] https://www.acmicpc.net/problem/2775 2775번: 부녀회장이 될테야 첫 번째 줄에 Test case의 수 T가 주어진다. 그리고 각각의 케이스마다 입력으로 첫 번째 줄에 정수 k, 두 번째 줄에 정수 n이 주어진다 www.acmicpc.net 문제 문제 풀이 백준 2775번 부녀회장이 될테야는 브론즈 1 난이도의 수학 및 구현 문제이다. 이 문제에서는 테스트 케이스의 개수 T가 주어지고 각 테스트 케이스마다 정수 k와 n도 같이 주어진다. 그리고 k층 n호에 몇 명이 사는지를 출력하면 되는 문제이다. 이 문제에서는 추가 조건도 있다. 바로 “a층의 b호에 살려면 자신의 아래(a-1)층의 1호부터 b호까지 사람들의 수의 합만큼 사람들을 데려와 살아야 한다”는 조건이다. 추가로 .. 2022. 7. 15.
[백준] 2920번 : 음계 – JAVA [자바] https://www.acmicpc.net/problem/2920 2920번: 음계 다장조는 c d e f g a b C, 총 8개 음으로 이루어져있다. 이 문제에서 8개 음은 다음과 같이 숫자로 바꾸어 표현한다. c는 1로, d는 2로, ..., C를 8로 바꾼다. 1부터 8까지 차례대로 연주한다면 ascending, 8 www.acmicpc.net 문제 문제 풀이 백준 2920번 음계는 브론즈 브론즈 2 난이도의 구현 문제이다. 이 문제에서는 8개의 숫자가 주어진다. 만약에 1부터 8까지 연속으로 주어지면 ascending을, 8부터 1까지 연속으로 주어지면 descending을, 둘 다 아니면 mixed를 출력하면 되는 문제이다. 이 문제는 되게 간단하게 풀 수 있다. 우선 배열 arr에 주어지는 .. 2022. 7. 15.
[백준] 15965번 : K번째 소수 – JAVA [자바] https://www.acmicpc.net/problem/15965 15965번: K번째 소수 자연수 K가 주어진다.(1 ≤ K ≤ 500,000) www.acmicpc.net 문제 문제 풀이 백준 15965번 K번째 소수는 실버 2 난이도의 수학 및 에라토스테네스의 체 문제이다. 이 문제는 추가로 부산일과학고 BSIS배 Code Festival에서 D번 문제로 출제된 문제이기도 하다. 이 문제 자체는 간단하다. 문제에서 입력으로 자연수 K가 주어지는데 K번째 소수를 출력하기만 하면 된다. 이 문제는 에라토스테네스의 체를 이용해서 풀 수 있다. 아직 에라토스테네스의 체에 대해서 잘 모르면 밑에 있는 링크를 참고하면 되겠다. https://propercoding.tistory.com/182 [알고리즘] 에.. 2022. 7. 15.
[백준] 1978번 : 소수 찾기 – JAVA [자바] https://www.acmicpc.net/problem/1978 1978번: 소수 찾기 첫 줄에 수의 개수 N이 주어진다. N은 100이하이다. 다음으로 N개의 수가 주어지는데 수는 1,000 이하의 자연수이다. www.acmicpc.net 문제 문제 풀이 백준 1978번 소수 찾기는 실버 5 난이도의 수학 및 에라토스테네스의 체 문제이다. 이 문제에서는 입력으로 N개의 자연수가 주어지고 이 N개 자연수들 중에서 소수가 몇 개인지를 출력하면 된다. 이 문제는 에라토스테네스의 체를 이용하면 쉽게 풀 수 있다. 에라토스테네스의 체를 잘 모르면 밑에 있는 링크를 참고하면 되겠다. https://propercoding.tistory.com/182 [알고리즘] 에라토스테네스의 체 (Sieve of Eratost.. 2022. 7. 15.
[백준] 1929번 : 소수 구하기 – JAVA [자바] https://www.acmicpc.net/problem/1929 1929번: 소수 구하기 첫째 줄에 자연수 M과 N이 빈 칸을 사이에 두고 주어진다. (1 ≤ M ≤ N ≤ 1,000,000) M이상 N이하의 소수가 하나 이상 있는 입력만 주어진다. www.acmicpc.net 문제 문제 풀이 백준 1929번 소수 구하기는 실버 3 난이도의 수학 및 에라토스테네스의 체 문제이다. 이 문제에서는 입력으로 자연수 M과 N이 주어진다. 그리고 M 이상 N 이하의 소수들을 모두 출력해주면 되는 문제이다. 이 문제에서는 에라토스테네스의 체 알고리즘을 이용해서 풀 것이다. 에라토스테네스의 체를 잘 모르면 밑에 있는 글을 참고하면 되겠다. https://propercoding.tistory.com/182 [알고리즘.. 2022. 7. 15.
반응형