2020-09-13 문제 오각형의 각 변에 아래 그림과 같이 점을 찍어 나간다. N단계에서 점의 개수는 모두 몇 개일까? 입력 첫째 줄에 N(1≤N≤10,000,000)이 주어진다. 출력 첫째 줄에 N단계에서 점의 개수를 45678로 나눈 나머지를 출력한다. 소스코드 Scanner scan = new Scanner(System.in); int n = scan.nextInt(); int sum = 0; int count = 3; for(int i = 1; i
2020-09-13 문제 수빈이는 심심해서 수열을 가지고 놀고 있다. 먼저, 정수 수열 A를 쓴다. 그리고 그 아래에 정수 수열 A의 해당 항까지의 평균값을 그 항으로 하는 정수 수열 B를 쓴다. 예를 들어, 수열 A가 1, 3, 2, 6, 8이라면, 수열 B는 1/1, (1+3)/2, (1+3+2)/3, (1+3+2+6)/4, (1+3+2+6+8)/5, 즉, 1, 2, 2, 3, 4가 된다. 수열 B가 주어질 때, 수빈이의 규칙에 따른 수열 A는 뭘까? 입력 첫째 줄에는 수열 B의 길이만큼 정수 N(1 ≤ N ≤ 100)이 주어지고, 둘째 줄에는 수열 Bi를 이루는 N개의 정수가 주어진다. (1 ≤ Bi ≤ 109) 출력 첫째 줄에는 수열 A를 이루는 N개의 정수를 출력한다. (1 ≤ Ai ≤ 109)..
2020-09-13 문제 상근이는 망가진 전투 드로이드를 고치려고 하고 있다. 전투 드로이드의 각 부품의 가격은 다음과 같다. 입력 첫째 줄에 테스트 케이스의 개수가 주어진다. 각 테스트 케이스는 음이 아닌 정수 다섯 개(A B C D E)로 이루어져 있다. A: 필요한 블래스터 라이플의 개수 B: 필요한 시각 센서의 개수 C: 필요한 청각 센서의 개수 D: 필요한 팔의 수 E: 필요한 다리의 수 출력 각 테스트 케이스마다, 입력으로 주어진 부품을 모두 구매하는데 필요한 비용을 소수점 둘째 자리까지 출력한다. 달러 표시도 출력해야 한다. 정답은 1억보다 작거나 같다. 소스코드 ※ 출력값을 소수 둘째 자리까지 출력하는 함수만 알고 있다면 손쉽게 풀 수 있는 문제이다. 우선적으로 가격표 배열을 하난 만든 후..
2020-09-12 문제 하나 이상의 연속된 소수의 합으로 나타낼 수 있는 자연수들이 있다. 몇 가지 자연수의 예를 들어 보면 다음과 같다. 3 : 3 (한 가지) 41 : 2+3+5+7+11+13 = 11+13+17 = 41 (세 가지) 53 : 5+7+11+13+17 = 53 (두 가지) 하지만 연속된 소수의 합으로 나타낼 수 없는 자연수들도 있는데, 20이 그 예이다. 7+13을 계산하면 20이 되기는 하나 7과 13이 연속이 아니기에 적합한 표현이 아니다. 또한 한 소수는 반드시 한 번만 덧셈에 사용될 수 있기 때문에, 3+5+5+7과 같은 표현도 적합하지 않다. 자연수가 주어졌을 때, 이 자연수를 연속된 소수의 합으로 나타낼 수 있는 경우의 수를 구하는 프로그램을 작성하시오. 입력 첫째 줄에 자..
2020-09-11 그레이 부호 또는 그레이 코드(gray code는 이진법 부호의 일종으로, 연속된 수가 1개의 비트만 다른 특징을 지닌다. 연산에는 쓰이진 않고 주로 데이터 전송, 입출력 장치, 아날로그-디지털 간 변환과 주변장치에 쓰인다.[1] 출처 : 위키피디아 소스코드 Scanner scan = new Scanner(System.in); int [] arr = new int [5]; //4자리의 그레이 코드를 받을 변수다 //크기가 5인 이유는 맨앞에 숫자가 //0이나 1이냐 판단하여, //0일 경우에는 그레이코드 → 이진수 변환 //1일 경우에는 이진수 → 그레이코드 변환 for(int i = 0; i < arr.length; i++) { arr[i] = scan.nextInt(); } int..
2020-09-10 선택 정렬(選擇整列, selection sort)은 제자리 정렬 알고리즘의 하나로, 다음과 같은 순서로 이루어진다. 주어진 리스트 중에 최솟값을 찾는다. 그 값을 맨 앞에 위치한 값과 교체한다(패스(pass)). 맨 처음 위치를 뺀 나머지 리스트를 같은 방법으로 교체한다. 비교하는 것이 상수 시간에 이루어진다는 가정 아래, n개의 주어진 리스트를 이와 같은 방법으로 정렬하는 데에는 Θ(n2) 만큼의 시간이 걸린다. 선택 정렬은 알고리즘이 단순하며 사용할 수 있는 메모리가 제한적인 경우에 사용 시 성능 상의 이점이 있습니다. 출처 : 위키피디아 말은 어려워 보일 수 있지만 무작이로 정렬되어 있는 배열 4 8 9 10 2 1 3 5 6 7을 1 2 3 4 5 6 7 8 9 10처럼 최솟값..