본문 바로가기

전체 글411

[백준] 9653번 : 스타워즈 로고 – JAVA [자바] https://www.acmicpc.net/problem/9653 9653번: 스타워즈 로고 스타워즈 로고를 예제 출력과 같이 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 백준 9653번 스타워즈 로고는 브론즈 5 난이도의 구현 문제이다. 이 문제는 PLU High School Programming Contest 2011에서 Novice 1번으로 나온 문제이기도 하다. 이 문제는 되게 간단하다. 입력받을 것도 없고 그냥 출력에 있는 것을 그대로 복사해서 출력해주기만 하면 된다. 자세한 코드는 밑에 있다. 코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] a.. 2022. 8. 1.
[백준] 11942번 : 고려대는 사랑입니다 – JAVA [자바] https://www.acmicpc.net/problem/11942 11942번: 고려대는 사랑입니다 첫째 줄에 “고려대학교”를 출력하세요. www.acmicpc.net 문제 문제 풀이 백준 11942번 고려대는 사랑입니다는 브론즈 5 난이도의 구현 문제이다. 이 문제는 고려대학교 프로그래밍 대회에 첫 문제로 나온 문제이기도 하다. 이 문제는 되게 간단하다. 그냥 "고려대학교"만 출력해주면 된다. 자세한 코드는 밑에 있다. 코드 import java.io.*; import java.util.*; public class Main { public static void main(String[] args) throws IOException { System.out.print("고려대학교"); } } 2022. 8. 1.
[백준] 5585번 : 거스름돈 – JAVA [자바] https://www.acmicpc.net/problem/5585 5585번: 거스름돈 타로는 자주 JOI잡화점에서 물건을 산다. JOI잡화점에는 잔돈으로 500엔, 100엔, 50엔, 10엔, 5엔, 1엔이 충분히 있고, 언제나 거스름돈 개수가 가장 적게 잔돈을 준다. 타로가 JOI잡화점에서 물건을 사 www.acmicpc.net 문제 문제 풀이 백준 5585번 거스름돈은 브론즈 2 난이도의 그리디 문제이다. 이 문제에서는 가격 N이 주어진다. 그리고 항상 1000엔짜리 지폐로 계산하고 거스름돈은 500엔, 100엔, 50엔, 10엔, 5엔, 1엔으로 받을 수 있다. 이때 최소의 개수로 거스름돈을 받는다고 할 때 받는 거스름돈의 매수를 출력하면 된다. 우선 최소의 개수로 거스름돈을 받는다고 하면 우선 .. 2022. 8. 1.
[백준] 2475번 : 검증수 – JAVA [자바] https://www.acmicpc.net/problem/2475 2475번: 검증수 컴퓨터를 제조하는 회사인 KOI 전자에서는 제조하는 컴퓨터마다 6자리의 고유번호를 매긴다. 고유번호의 처음 5자리에는 00000부터 99999까지의 수 중 하나가 주어지며 6번째 자리에는 검증수가 들 www.acmicpc.net 문제 문제 풀이 백준 2475번 검증수는 브론즈 5 난이도의 수학 및 구현 문제이다. 이 문제에서는 5개의 수가 연속으로 주어지고 이 모든 수의 제곱된 값의 합을 10으로 나눈 나머지 값을 출력하면 된다. 이 문제는 되게 간단하다. StringTokenizer를 이용해서 5개의 수를 입력받고 total이라는 int형 변수에 제곱된 값을 더한다. 그리고 마지막에 10으로 나눈 나머지 값을 출력하면.. 2022. 7. 31.
[백준] 4153번 : 직각삼각형 – JAVA [자바] https://www.acmicpc.net/problem/4153 4153번: 직각삼각형 입력은 여러개의 테스트케이스로 주어지며 마지막줄에는 0 0 0이 입력된다. 각 테스트케이스는 모두 30,000보다 작은 양의 정수로 주어지며, 각 입력은 변의 길이를 의미한다. www.acmicpc.net 문제 문제 풀이 백준 4153번 직각삼각형은 브론즈 3 난이도의 수학 문제이다. 이 문제에서는 한 삼각형의 세 개의 변의 길이가 주어지고 그 삼각형이 직각삼각형인지 아닌지를 출력하면 된다. 직각삼각형이면 right을 출력하고 아니면 wrong을 출력하면 된다. 이 문제는 피타고라스의 정리를 이용해서 풀 수가 있다. 직각삼각형의 변 a, b, c가 있다고 하고 c가 가장 큰 변일 때 a² + b² = c²이다. 이 .. 2022. 7. 31.
[백준] 11653번 : 소인수분해 – JAVA [자바] https://www.acmicpc.net/problem/11653 11653번: 소인수분해 첫째 줄에 정수 N (1 ≤ N ≤ 10,000,000)이 주어진다. www.acmicpc.net 문제 문제 풀이 백준 11653번 소인수분해는 브론즈 1 난이도의 수학 문제이다. 이 문제는 되게 간단하다. 숫자 N이 주어졌을 때 이 N을 소인수 분해한 결과를 출력하면 된다. 예를 들어서 6이 주어지면 2와 3을 출력하면 된다. 이 문제는 간단한 while-loop을 이용해서 풀 수가 있다. 우선 n을 1이 될때까지 나눠야 하기 때문에 while-loop이 종료되는 기준은 n == 1이라고 설정한다. 따라서, while (n != 1)로 한다. 그리고 int i = 2로 초기화해서 선언하고 이 n이 i로 나눠지면.. 2022. 7. 31.
[백준] 10757번 : 큰 수 A+B – JAVA [자바] https://www.acmicpc.net/problem/10757 10757번: 큰 수 A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 문제 풀이 백준 10757번 큰 수 A+B는 브론즈 5 난이도의 수학 및 구현 문제이다. 이 문제는 큰 수 A와 B가 주어졌을 때 이 두 수의 합을 구하면 되는 문제이다. 이 문제는 int형이나 long형을 써서 풀 수 있는 문제가 아니다. 그 이유는 이 문제에서 입력으로 주어지는 수는 long형의 범위를 초과하기 때문이다. 만약에 long형을 쓰면 다음과 같은 예외(exception)가 뜨는 것을 볼 수가 있다. 따라서 이 문제는 BigInteger를 사용해야 한다. 만약에 BigInteger를 잘.. 2022. 7. 31.
[알고리즘] 계수 정렬 (Counting Sort) 목차 계수 정렬이란? 계수 정렬은 데이터 값을 직접 비교하지 않고, 단순하게 각 숫자가 몇 개 있는지 개수를 세어 저장한 후에 정렬하는 알고리즘이다. 기존의 정렬 알고리즘들은 위치를 바꾸며 정렬을 했는데, 계수 정렬에서는 크기를 기준으로 개수만 세면 되기 때문에 위치를 변경할 필요가 없다. 계수 정렬의 큰 특징은 값 비교가 일어나지 않기 때문에 속도가 빠르다는 것이다. 하지만, 개수를 저장하는 배열을 사용해야 하기 때문에 추가 공간이 필요하다. 그래서, 정렬해야 할 수의 범위가 작을 때에만 유리하다. 이 이유는 예를 보면서 설명하겠다. EX) 0, 100, 2, 10, 10000 오름차순으로 정렬하기 예를 들어서 정렬해야 할 수가 0, 100, 2, 10, 10000이면 고작 5개의 수를 정렬하는데 0부.. 2022. 7. 29.
반응형