728x90
인프런의 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의를 수강하며 예습 풀이 코드, 강의에서 설명하는 풀이 코드를 정리하고 있습니다.
- 문제 링크 : https://cote.inflearn.com/contest/10/problem/02-01
- 문제 설명 : n개의 정수를 입력받아 자신의 바로 앞 수보다 큰 수만 출력하는 문제(첫 번째 수는 무조건 출력)
입출력 예시
입력 예시
6
7 3 9 5 6 12
출력 예시
7 9 6 12
내 풀이
- for문을 사용하여 간단하게 풀 수 있는 문제
public class Main2_1 {
public static String solution(int[] arr) {
StringBuilder sb = new StringBuilder();
sb.append(arr[0]).append(" ");
for (int i = 1; i < arr.length; i++) {
if (arr[i-1] < arr[i]) {
sb.append(arr[i]).append(" ");
}
}
return sb.toString();
}
public static void main(String[] args) throws IOException {
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();
}
System.out.println(solution(arr));
}
}
강의 풀이
- 내 풀이와 거의 같은 방법으로 for문을 사용하여 간단하게 풀이
import java.util.*;
class Main {
public ArrayList<Integer> solution(int n, int[] arr){
ArrayList<Integer> answer = new ArrayList<>();
answer.add(arr[0]);
for(int i=1; i<n; i++){
if(arr[i]>arr[i-1]) answer.add(arr[i]);
}
return answer;
}
public static void main(String[] args){
Main T = new Main();
Scanner kb = new Scanner(System.in);
int n=kb.nextInt();
int[] arr=new int[n];
for(int i=0; i<n; i++){
arr[i]=kb.nextInt();
}
for(int x : T.solution(n, arr)){
System.out.print(x+" ");
}
}
}
'알고리즘 문제풀이' 카테고리의 다른 글
[알고리즘/인프런] 2-3 가위바위보(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.12 |
---|---|
[알고리즘/인프런] 2-2 보이는 학생(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.11 |
[알고리즘/인프런] 1-12 암호(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.10 |
[알고리즘/인프런]1-11 문자열 압축(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.09 |
[알고리즘/인프런]1-10 가장 짧은 문자거리(인프런 자바(Java) 알고리즘 문제풀이 : 코딩테스트 대비 강의) (0) | 2021.05.09 |
댓글