코딩테스트 105

[C] GCD LCM

문제 두 개의 자연수를 입력받아 최대공약수(GCD)와 최소공배수(LCM)를 출력하는 프로그램을 작성하시오. 입력 첫째 줄에는 두 개의 자연수가 주어진다. 이 둘은 10,000 이하의 자연수이며 사이에 한 칸의 공백이 주어진다. 출력 첫째 줄에는 입력으로 주어진 두 수의 최대공약수를, 둘째 줄에는 입력으로 주어진 두 수의 최소공배수를 출력한다. 예제 입력 24 18 예제 출력 6 72 #include int get_gcd(int a,int b) { if(b==0) return a; else return get_gcd(b,a%b); } int main() { //Please Enter Your Code Here int n,m; int gcd; //최대공약수 int lcm; //최소공배수 scanf("%d %..

코딩테스트 2022.05.26

[C] offset

문제 5x5 2차원 배열이 주어질 때 어떤 원소가 상하좌우에 있는 원소보다 작을 때 해당 위치에 * 을 표시하는 프로그램을 작성하시오. 경계선에 있는 수는 상하좌우 중 존재하는 원소만을 비교한다. 입력 5x5 행렬의 정보가 25 개의 수로 주어진다. 각 수는 0 에서 9 사이 수이다. 출력 *를 포함한 행렬을 출력예의 형식으로 출력한다. 예제 입력 3 4 1 4 9 2 9 4 5 8 9 0 8 2 1 7 0 2 8 4 2 7 2 1 4 예제 출력 3 4 * 4 9 * 9 4 5 8 9 0 8 2 * 7 0 2 8 4 * 7 2 * 4 #include int main() { //Please Enter Your Code Here int arr[7][7]; for(int i=1;i

코딩테스트 2022.05.26

[C] 숫자 피라미드

문제 N과 시작 숫자 S가 주어지면 숫자 피라미드를 만드는 프로그램을 작성하시오. 예를 들어, N이 5이고 S가 3 이라면, 그 숫자 피라미드는 다음과 같다. 3 456 21987 3456789 987654321 시작 숫자 S는 꼭대기부터 1씩 증가한다. 시작 행의 번호가 1번이라고 했을때, 짝수번째 행은 왼쪽에서 오른쪽으로 1씩 증가하도록 적고, 홀수번째 행은 거꾸로 적는다. 숫자가 만약 10이 될 경우, 1로 바꾸고 다시 증가한다. 입력 입력의 첫 번째 줄에 N과 시작 숫자 S가 주어진다. ( 1≤N≤100, 1 ≤S≤ 9) 출력 첫 번째 줄부터 숫자 피라미드를 출력한다. (각 줄에 존재하는 공백의 개수와 숫자의 개수를 정확하게 확인해주시바랍니다.) 예제 입력 5 3 예제 출력 3 456 21987 ..

코딩테스트 2022.05.26

[C] 주사위 게임

문제 1에서부터 6까지의 눈을 가진 3개의 주사위를 던져서 다음과 같은 규칙에 따라 상금을 받는 게임이 있다. 규칙(1) 같은 눈이 3개가 나오면 10,000원+(같은 눈)*1,000원의 상금을 받게 된다. 규칙(2) 같은 눈이 2개만 나오는 경우에는 1,000원+(같은 눈)*100원의 상금을 받게 된다. 규칙(3) 모두 다른 눈이 나오는 경우에는 (그 중 가장 큰 눈)*100원의 상금을 받게 된다. 예를 들어, 3개의 눈 3, 3, 6이 주어지면 상금은 1,000+3 100으로 계산되어 1,300원을 받게 된다. 또 3개의 눈이 2, 2, 2로 주어지면 10,000+2 1,000 으로 계산되어 12,000원을 받게 된다. 3개의 눈이 6, 2, 5로 주어지면 그 중 가장 큰 값이 6이므로 6 * 100..

코딩테스트 2022.05.26

[C] Card game

문제 두 사람 A와 B는 1부터 10까지의 숫자가 하나씩 적힌 열 장의 카드로 ‘게임’을 한다. 게임은 총 열 번의 ‘라운드’로 구성되고, 각 라운드 마다 자신이 가지고 있는 카드 중 하나를 제시하고, 한 번 제 시한 카드는 버린다. 게임 승패는 다음과 같이 결정된다. 각 라운드는 더 높은 숫자를 제시한 사람이 승리하고, 제시한 숫자가 같은 경우는 비긴다. 열 번의 라운드에서 더 많은 라운드를 승리한 사람이 게임을 승리하고, 승리한 라운드 횟수 가 동일한 경우 비긴다. 다음은 게임의 한 예로, 각 라운드마다 A와 B가 제시한 카드의 숫자와 각 라운드의 승자를 보여준다. (비긴 라운드는 D로 표시함) A는 5번의 라운드에서 승리하고 B는 4번의 라운 드에서 승리하였으므로, 이 게임은 A가 승리한다. 라운드..

코딩테스트 2022.05.26

[C] 점수 계산

문제 OX 문제는 맞거나 틀린 두 경우의 답을 가지는 문제를 말한다. 여러 개의 OX 문제로 만들어진 시험에서 연속적으로 답을 맞히는 경우에는 가산점을 주기 위해서 다음과 같이 점수 계산을 하기로 하였다. 1번 문제가 맞는 경우에는 1점으로 계산한다. 앞의 문제에 대해서는 답을 틀리다가 답이 맞는 처음 문제는 1점으로 계산한다. 또한, 연속으로 문제의 답이 맞는 경우에서 두 번째 문제는 2점, 세 번째 문제는 3점, ..., K번째 문제는 K점으로 계산한다. 틀린 문제는 0점으로 계산한다. 예를 들어, 아래와 같이 10 개의 OX 문제에서 답이 맞은 문제의 경우에는 1로 표시하고, 틀린 경우에는 0으로 표시하였을 때, 점수 계산은 아래 표와 같이 계산되어, 총 점수는 1+1+2+3+1+2=10 점이다. ..

코딩테스트 2022.05.26

[C] 두 번째 최솟값 찾기

문제 9개의 서로 다른 자연수가 주어질 때, 이들 중 두 번째 최솟값을 찾고, 그 두 번째 최솟값이 몇 번째 수인지를 구하는 프로그램을 작성하시오. 예를 들어, 서로 다른 9개의 자연수 3, 29, 38, 12, 57, 74, 40, 85, 61 이 주어지면, 이들 중 두 번째 최솟값은 12이고, 이 값은 4번째 수이다. 입력 첫째 줄부터 아홉 번째 줄까지 한 줄에 하나의 자연수가 주어진다. 주어지는 자연수는 10,000,000 보다 작다. 출력 첫째 줄에 두 번째 최솟값을 출력하고, 둘째 줄에 두 번째 최솟값이 몇 번째 수인지를 출력한다. 예제 입력 3 29 38 12 57 74 40 85 61 예제 출력 12 4 #include int main() { //Please Enter Your Code He..

코딩테스트 2022.05.26

[C] 소수 판별 2

문제 자연수n,m이 주어질 때, n부터m까지 존재하는 소수를 모두 출력하는 프로그램을 작성하여라. 여기서 소수란, 약수가 1과 자기자신밖에 존재하지 않는 수를 말한다. 입력 첫째 줄에 자연수 n, m이 주어진다. (1≤n,m≤20,000) 출력 첫째 줄에 n부터m까지 존재하는 소수를 모두 출력한다. 예제 입력 1 10 예제 출력 2 3 5 7 예제 입력 13 30 예제 출력 13 17 19 23 29 #include int main() { //Please Enter Your Code Here int n, m; int flag=0; scanf("%d %d",&n,&m); for(int i=n; i

코딩테스트 2022.05.26

[C] 삼각형 출력 3

문제 n층의 삼각형을 출력하는 프로그램을 작성하여라. Input, Output의 예제를 참고한다. 입력 첫째 줄에 정수n이 주어진다. (0≤n≤100) 출력 다음 예제와 같이 삼각형 모양으로 ‘*’을 출력한다.(공백의 개수와 별의 개수를 정확하게 확인해주시바랍니다.) 예제 입력 3 예제 출력 * *** ***** 예제 입력 6 예제 출력 * *** ***** ******* ********* *********** #include int main() { //Please Enter Your Code Here int n; scanf("%d",&n); for(int i=0; i

코딩테스트 2022.05.26