봉우리
·
algorithm
설명지도 정보가 N*N 격자판에 주어집니다. 각 격자에는 그 지역의 높이가 쓰여있습니다.각 격자판의 숫자 중 자신의 상하좌우 숫자보다 큰 숫자는 봉우리 지역입니다. 봉우리 지역이 몇 개 있는 지 알아내는 프로그램을 작성하세요.격자의 가장자리는 0으로 초기화 되었다고 가정한다.만약 N=5 이고, 격자판의 숫자가 다음과 같다면 봉우리의 개수는 10개입니다. 입력첫 줄에 자연수 N이 주어진다.(2두 번째 줄부터 N줄에 걸쳐 각 줄에 N개의 자연수가 주어진다. 각 자연수는 100을 넘지 않는다. 출력봉우리의 개수를 출력하세요. 예시 입력 1 55 3 7 2 33 7 1 6 17 2 5 3 44 3 6 4 18 7 3 5 2 예시 출력 110 소스 코드 1import java.util.Scanner;//봉우리pu..
격자판 최대합
·
algorithm
설명5*5 격자판에 아래롸 같이 숫자가 적혀있습니다.N*N의 격자판이 주어지면 각 행의 합, 각 열의 합, 두 대각선의 합 중 가 장 큰 합을 출력합니다. 입력첫 줄에 자연수 N이 주어진다.(2두 번째 줄부터 N줄에 걸쳐 각 줄에 N개의 자연수가 주어진다. 각 자연수는 100을 넘지 않는다. 출력최대합을 출력합니다. 예시 입력 1 510 13 10 12 1512 39 30 23 1111 25 50 53 1519 27 29 37 2719 13 30 13 19 예시 출력 1155 소스 코드 1import java.util.Scanner;public class Main { public static int solution(int N, int[][] arr) { int ans=-1; ..
등수 구하기
·
algorithm
설명N명의 학생의 국어점수가 입력되면 각 학생의 등수를 입력된 순서대로 출력하는 프로그램을 작성하세요.같은 점수가 입력될 경우 높은 등수로 동일 처리한다.즉 가장 높은 점수가 92점인데 92점이 3명 존재하면 1등이 3명이고 그 다음 학생은 4등이 된다. 입력첫 줄에 N(3 출력입력된 순서대로 등수를 출력한다.예시 입력 1 587 89 92 100 76 예시 출력 14 3 2 1 5 소스 코드import java.util.Scanner;public class Main { public static int[] solution(int N, int[] grades) { int[] ans = new int[N]; //ans에 등수 넣어주기 for (int i = 0; i
점수계산
·
algorithm
설명OX 문제는 맞거나 틀린 두 경우의 답을 가지는 문제를 말한다.여러 개의 OX 문제로 만들어진 시험에서 연속적으로 답을 맞히는 경우에는 가산점을 주기 위해서 다음과 같이 점수 계산을 하기로 하였다.1번 문제가 맞는 경우에는 1점으로 계산한다. 앞의 문제에 대해서는 답을 틀리다가 답이 맞는 처음 문제는 1점으로 계산한다.또한, 연속으로 문제의 답이 맞는 경우에서 두 번째 문제는 2점, 세 번째 문제는 3점, ..., K번째 문제는 K점으로 계산한다. 틀린 문제는 0점으로 계산한다.예를 들어, 아래와 같이 10 개의 OX 문제에서 답이 맞은 문제의 경우에는 1로 표시하고, 틀린 경우에는 0으로 표시하였을 때,점수 계산은 아래 표와 같이 계산되어, 총 점수는 1+1+2+3+1+2=10 점이다.시험문제의 채..
뒤집은 소수
·
algorithm
설명N개의 자연수가 입력되면 각 자연수를 뒤집은 후 그 뒤집은 수가 소수이면 그 소수를 출력하는 프로그램을 작성하세요.예를 들어 32를 뒤집으면 23이고, 23은 소수이다. 그러면 23을 출력한다. 단 910를 뒤집으면 19로 숫자화 해야 한다.첫 자리부터의 연속된 0은 무시한다. 입력첫 줄에 자연수의 개수 N(3각 자연수의 크기는 100,000를 넘지 않는다. 출력첫 줄에 뒤집은 소수를 출력합니다. 출력순서는 입력된 순서대로 출력합니다. 예시 입력 1 932 55 62 20 250 370 200 30 100 예시 출력 123 2 73 2 3 소스 코드 1import java.util.ArrayList;import java.util.Scanner;public class Main { public st..
소수(에라토스테네스 체)
·
algorithm
설명자연수 N이 입력되면 1부터 N까지의 소수의 개수를 출력하는 프로그램을 작성하세요.만약 20이 입력되면 1부터 20까지의 소수는 2, 3, 5, 7, 11, 13, 17, 19로 총 8개입니다. 입력첫 줄에 자연수의 개수 N(2 출력첫 줄에 소수의 개수를 출력합니다.예시 입력 1 20 예시 출력 18 소스 코드 1 (시간 초과)package section2;import java.util.Scanner;//시간초과걸림public class Ex05 { public static int solution(int N) { int ans = 0; for (int i = 2; i  소스 코드 2import java.util.Scanner;public class Main { pu..
피보나치 수열
·
algorithm
설명1) 피보나키 수열을 출력한다. 피보나치 수열이란 앞의 2개의 수를 합하여 다음 숫자가 되는 수열이다.2) 입력은 피보나치 수열의 총 항의 수 이다. 만약 7이 입력되면 1 1 2 3 5 8 13을 출력하면 된다. 입력첫 줄에 총 항수 N(3 출력첫 줄에 피보나치 수열을 출력합니다.예시 입력 1 10 예시 출력 11 1 2 3 5 8 13 21 34 55 소스 코드 1import java.util.Scanner;public class Main { public static int[] solution(int N) { int[] ans = new int[N]; for (int i = 0; i
가위 바위 보
·
algorithm
설명A, B 두 사람이 가위바위보 게임을 합니다. 총 N번의 게임을 하여 A가 이기면 A를 출력하고, B가 이기면 B를 출력합니다. 비길 경우에는 D를 출력합니다.가위, 바위, 보의 정보는 1:가위, 2:바위, 3:보로 정하겠습니다.예를 들어 N=5이면두 사람의 각 회의 가위, 바위, 보 정보가 주어지면 각 회를 누가 이겼는지 출력하는 프로그램을 작성하세요. 입력첫 번째 줄에 게임 횟수인 자연수 N(1두 번째 줄에는 A가 낸 가위, 바위, 보 정보가 N개 주어집니다.세 번째 줄에는 B가 낸 가위, 바위, 보 정보가 N개 주어집니다. 출력각 줄에 각 회의 승자를 출력합니다. 비겼을 경우는 D를 출력합니다. 예시 입력 1 52 3 3 1 31 1 2 2 3 예시 출력 1ABABD 소스 코드 1import j..
보이는 학생
·
algorithm
설명선생님이 N명의 학생을 일렬로 세웠습니다. 일렬로 서 있는 학생의 키가 앞에서부터 순서대로 주어질 때, 맨 앞에 서 있는선생님이 볼 수 있는 학생의 수를 구하는 프로그램을 작성하세요. (앞에 서 있는 사람들보다 크면 보이고, 작거나 같으면 보이지 않습니다.) 입력첫 줄에 정수 N(5 출력선생님이 볼 수 있는 최대학생수를 출력한다. 예시 입력 1 8130 135 148 140 145 150 150 153 예시 출력 15 소스 코드 1import java.util.Scanner;public class Main { public static int solution(int[] height) { int ans = 1; //첫 번째 학생은 당연히 보이므로 1부터 시작함 int max..
큰 수 출력하기
·
algorithm
설명N개의 정수를 입력받아, 자신의 바로 앞 수보다 큰 수만 출력하는 프로그램을 작성하세요.(첫 번째 수는 무조건 출력한다) 입력첫 줄에 자연수 N(1 출력자신의 바로 앞 수보다 큰 수만 한 줄로 출력한다.예시 입력 1 67 3 9 5 6 12 예시 출력 17 9 6 12 소스 코드 1import java.util.Scanner;public class Main { public static int[] solution(int[] nums) { int[] ans = new int[nums.length]; ans[0] = nums[0]; int cnt = 0; for (int i = 1; i nums[i - 1]) { cnt++..