인프런 커뮤니티 질문&답변

작성자 없음

작성자 정보가 삭제된 글입니다.

자바(Java) 알고리즘 문제풀이 입문: 코딩테스트 대비

1. 씨름선수

씨름선수 문제 이중for문 통과했습니다.. 정상인건가요?

작성

·

230

0

일단 먼저 풀어봤는데, 객체지향으로 풀려고 Player라는 클래스를 생성 후 몸무게와 키를 저장해 이중 for문으로 풀었는데 통과해버렸습니다.

해당 코드는 150~200ms정도가 나오는데 통과하는게 정상인건지 궁금해서 여쭤봅니다.

 

import java.util.Scanner;

class Player {
    int height;
    int weight;

    public Player(int height, int weight) {
        this.height = height;
        this.weight = weight;
    }
}

public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);

        int n = sc.nextInt();
        Player[] players = new Player[n];

        for (int i = 0; i < n; i++) {
            int height = sc.nextInt();
            int weight = sc.nextInt();
            Player player = new Player(height, weight);
            players[i] = player;
        }

        System.out.println(solution(n, players));
    }

    private static int solution(int n, Player[] players) {
        int answer = n;
        for (int i = 0; i < n; i++) {
            for (int j = 0; j < n; j++) {
                if (players[i].height < players[j].height && players[i].weight < players[j].weight) {
                    answer--;
                    break;
                }
            }
        }
        return answer;
    }
}

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

안녕하세요^^

사실 이 질문과 같은 질문이 저번에도 있어서 테스트 케이스를 바꾸려고 다시 넣었는데 적용이 되지 않고 있습니다. 2년전에 인프런에서 이 강좌를 위해 별도로 만들어준 사이트인데 인프런과 잘 소통해 보겠습니다. 양해부탁드립니다. 2중 for문으로는 통과되면 안되는 문제입니다. 영상처럼 그리디로 풀어야 통과되는 문제로 출제되었다는 점 알려드립니다. 감사합니다.

감사합니다 !

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기