본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1440 : 비교

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1440 비교 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력

첫째 줄에 숫자의 개수 n이 입력된다. ( 2 <= n <= 1000)
다음 줄에 n개의 숫자 k가 공백으로 입력된다.( k는 int범위)

출력

샘플 출력 양식에 맞추어 비교 결과를 출력한다.

예시

  • 입력 :
    5
    1 2 3 2 1
  • 출력 :
    1: < < < =
    2: > < = >
    3: > > > >
    4: > = < >
    5: = < < <

Solution (풀이)

  • 풀이 : 메모리 25696, 시간 146
public class Answer1 {

    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringBuilder sb = new StringBuilder();
        int n = Integer.parseInt(br.readLine());
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");

        // 첫째줄에 입력받은 n개의 길이만큼 배열 길이 선언
        int[] numbers = new int[n];

        // n개의 숫자를 입력받기로 했음으로 n번 for문 반복
        for (int i=0; i<n; i++) {
            numbers[i] = Integer.parseInt(st.nextToken());    // 입력받은 숫자 저장
        }

        for (int i=0; i<n; i++) {
            // 일단 기준 숫자 저장
            sb.append(i+1).append(": ");
            for (int j=0; j<n; j++) {
                if (i!=j) {    // 자기자신 숫자를 제외하고 비교
                    if(numbers[i] > numbers[j]) {
                        sb.append("> ");
                    } else if(numbers[i] < numbers[j]) {
                        sb.append("< ");
                    } else {
                        sb.append("= ");
                    }
                }

            }
            // 줄 띄움
            sb.append("\n");
        }

        System.out.println(sb);
        br.close();
    }

}

Ranking(순위)

반응형