[인프런 알고리즘] Chpater 2, 8번 문제(등수 구하기)자료구조 & 알고리즘/Inflearn2024. 7. 16. 10:45
Table of Contents
이 알고리즘 문제는 인프런의 자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비 (김태원)의 문제입니다.
문제 설명
코드
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class sec02_08 {
public static void solution(int N, String str) {
StringTokenizer st = new StringTokenizer(str);
int[] numArr = new int[N];
for(int i = 0; i < N; ++i) numArr[i] = Integer.parseInt(st.nextToken());
for(int i = 0; i < N; ++i)
{
int temp = numArr[i];
int count = 1;
for(int j = 0; j < N; ++j) if(temp < numArr[j]) ++count;
System.out.print(count + " ");
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
solution(N, br.readLine());
}
}
설명
- StringTokenizer를 사용하여 문자열 str을 공백 기준으로 토큰화한다. 각 토큰은 숫자 하나를 의미한다.
- numArr라는 정수 배열을 생성하여 토큰화된 문자열을 정수로 변환하여 저장한다.
- 이중 반복문을 사용하여 각 숫자에 대해 자신보다 큰 숫자의 개수를 센다.
temp는 현재 비교하려는 숫자를 의미한다.
count는 temp보다 큰 숫자의 개수를 센다. - 모든 숫자에 대해 자신보다 큰 숫자의 개수를 센 후, 결과를 출력한다.
'자료구조 & 알고리즘 > Inflearn' 카테고리의 다른 글
[인프런 알고리즘] Chpater 2, 10번 문제(봉우리) (0) | 2024.07.18 |
---|---|
[인프런 알고리즘] Chapter 2, 9번 문제(격자판 최대합) (0) | 2024.07.17 |
[인프런 알고리즘] Chapter 2, 7번 문제(점수 계산) (0) | 2024.07.15 |
[인프런 알고리즘] Chapter 2, 6번 문제(뒤집은 소수) (1) | 2024.07.14 |
[인프런 알고리즘] Chapter 2, 5번 문제(소수(에라토스테네스의 체)) (1) | 2024.07.14 |