이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.
문제 설명
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class sec02_01 {
public static String solution(int N, String str) {
String[] numArr = str.split(" ");
StringBuilder sb = new StringBuilder();
sb.append(numArr[0]).append(" ");
for (int i = 1; i < N; i++)
{
if (Integer.parseInt(numArr[i]) > Integer.parseInt(numArr[i - 1]))
{
sb.append(numArr[i]).append(" ");
}
}
return sb.toString().trim();
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
String input = br.readLine();
System.out.println(solution(N, input));
}
}
설명
- String.split(" ")을 사용하여 입력 문자열을 배열로 변환한다.
- 첫 번째 숫자는 무조건 결과에 포함되므로 StringBuilder에 미리 추가한다.
- 두 번째 숫자부터 반복문을 돌면서 앞의 숫자보다 큰 경우에만 StringBuilder에 추가한다.
- 마지막에 trim()을 호출하여 불필요한 공백을 제거한다.
'자료구조 & 알고리즘 > Inflearn' 카테고리의 다른 글
[인프런 알고리즘] Chapter 2, 3번 문제(가위, 바위, 보) (0) | 2024.07.13 |
---|---|
[인프런 알고리즘] Chpater 2, 2번 문제(보이는 학생) (0) | 2024.07.12 |
[인프런 알고리즘] Chpater 1, 12번 문제(암호) (0) | 2024.07.11 |
[인프런 알고리즘] Chapter 1, 11번 문제(문자열 압축) (0) | 2024.07.10 |
[인프런 알고리즘] Chapter 1, 10번 문제(가장 짧은 문자거리) (0) | 2024.07.09 |