짝수는 싫어요
https://school.programmers.co.kr/learn/courses/30/lessons/120813?language=java
문제 개요
정수 n이 주어지면, n이하의 홀수를 오름차순으로 return한다.
import java.util.Arrays;
class Solution {
public int[] solution(int n) {
int[] answer = new int[n/2 + n%2];
int index = 0;
for (int i = 1; i<= n; i+= 2) {
answer[index++] = i;
}
return answer;
}
}
나의 답
답으로 제출할 answer배열의 크기를 n의 절반, 그리고 n을 2로 나눈 나머지를 더한다.
즉, 홀수만 뽑아낼 것이기 때문에, 배열의 크기를 짝수일 때는 n의 절반이 되고, 홀수일 때는 n을 2로나눈 나머지 1이 추가된다. ( ex) arr = { 1, 2, 3, 4 ,5} 일 때, 홀수는 3개이므로 크기가 n/2 +1)
이후 반복문을 통해 i를 홀수로 만들 것이기 때문에 0인 index를 하나 만들고, answer의 index를 홀수로 n까지 채운다.
백준 10818 최소, 최대
https://www.acmicpc.net/problem/10818
문제 개요
N개의 정수가 주어진다. 이때, 최솟값과 최댓값을 구하는 프로그램을 작성하시오.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int[] arr = new int[N];
for (int i = 0; i < N; i++) {
arr[i] = sc.nextInt();
}
sc.close();
int maxNum = arr[0];
int minNum = arr[0];
for (int i = 0; i < N; i++) {
if(arr[i] > maxNum) {
maxNum = arr[i];
}
else if(arr[i] < minNum) {
minNum = arr[i];
}
}
System.out.println(minNum+ " " + maxNum);
}
}
나의 답
입력값들을 반복문을 통해 arr에 넣고, maxNum, minNum을 arr의 첫 인자로 만든다.
이후 arr를 순회하면서 해당 인자가 maxNum보다 크면, 대체하고, 작으면 minNum으로 대체하면서
최대값, 최솟값을 구해서 출력한다.
'Code Test > 자료구조' 카테고리의 다른 글
자료구조- [java] 배열(Array) (0) | 2023.04.25 |
---|