본문 바로가기

알고리즘16

[코딩테스트/ 백준 알고리즘] 10866번 : 덱 (Java, 자바 풀이) 문제 https://www.acmicpc.net/problem/10866 10866번: 덱 첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 www.acmicpc.net 문제 설명 문제 풀이 덱은 디큐(deque)라고도 불리며, 양쪽 끝에서 추가와 삭제가 가능한 자료구조다. 자바에서는 ArrayDeque와 LinkedList를 사용하여 구현할 수 있다. Deque의 연산 코드 import java.util.*; import java.io.*; class Main { public static void main(String[] args) thro.. 2022. 8. 3.
[코딩테스트/백준 알고리즘] 10814번 : 나이순 정렬 (Java, 자바 풀이) 문제 https://www.acmicpc.net/problem/10814 10814번: 나이순 정렬 온라인 저지에 가입한 사람들의 나이와 이름이 가입한 순서대로 주어진다. 이때, 회원들을 나이가 증가하는 순으로, 나이가 같으면 먼저 가입한 사람이 앞에 오는 순서로 정렬하는 프로그램을 www.acmicpc.net 문제 설명 문제 풀이 Comparable 구현 class Person implements Comparable{ /*생략*/ public int compareTo(Person p) { if(this.age == p.age) {//나이가 같으면 return this.index - p.index;//가입한 순 비교 } else {//나이가 다르면 return this.age - p.age;//나이 비교.. 2022. 8. 3.
[코딩 테스트/백준 알고리즘] 1295번 : 팰린드롬수(Java 풀이) 문제 https://www.acmicpc.net/problem/1259 1259번: 팰린드롬수 입력은 여러 개의 테스트 케이스로 이루어져 있으며, 각 줄마다 1 이상 99999 이하의 정수가 주어진다. 입력의 마지막 줄에는 0이 주어지며, 이 줄은 문제에 포함되지 않는다. www.acmicpc.net 문제 설명 문제 풀이 while(!str.equals("0")) { int i = 0;//첫번째 인덱스 int j = str.length() - 1;//단어 마지막 인덱스 while(i 2022. 8. 1.
[코딩 테스트/ 백준 알고리즘] 1037번 : 약수 (Java 풀이) 문제 https://www.acmicpc.net/problem/1037 1037번: 약수 첫째 줄에 N의 진짜 약수의 개수가 주어진다. 이 개수는 50보다 작거나 같은 자연수이다. 둘째 줄에는 N의 진짜 약수가 주어진다. 1,000,000보다 작거나 같고, 2보다 크거나 같은 자연수이고, 중복되 www.acmicpc.net 문제 설명 문제 풀이 약수의 성질을 사용하면 쉽게 풀 수 있는 문제다. 어떤 수 A가 어떤 수 C의 약수라면, C / A = B인 B도 C의 약수라는 것이다. 수 진짜 약수의 개수 진짜 약수 12 4 2, 3, 4, 6 24 6 2, 3, 4, 6, 8, 12 121 1 11 12의 경우 12 % 2 = 0이기 때문에 2는 12의 약수다. 12 / 2 = 6이고, 12 % 6 = 0이.. 2022. 7. 29.