짝수는 싫어요
https://school.programmers.co.kr/learn/courses/30/lessons/120813?language=java
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 개요
정수 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
10818번: 최소, 최대
첫째 줄에 정수의 개수 N (1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄에는 N개의 정수를 공백으로 구분해서 주어진다. 모든 정수는 -1,000,000보다 크거나 같고, 1,000,000보다 작거나 같은 정수이다.
www.acmicpc.net
문제 개요
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 |
---|