inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

2-11 임시반장 정하기 문제 해결 도와주세요

해결된 질문

350

ㅇㄷㅇ

작성한 질문수 2

1

import java.util.Scanner;

//임시반장 정하기
public class Class11 {

	public static void main(String[] args) {
		Class11 T = new Class11();
		Scanner kb = new Scanner(System.in);
		int n = kb.nextInt(); // n명의 학생
		int[][] arr = new int[n][5]; // n명 학생의 5학년까지
		for (int i = 0; i < n; i++)
			for (int j = 0; j < 5; j++)
				arr[i][j] = kb.nextInt();
		System.out.println(T.solution(n, arr));

	}

	public int solution(int n, int[][] arr) {
		int answer = 0;
		int max = 0;
		for (int i = 0; i < n; i++) { // i학생 인덱스
			int[] x = new int[n]; // 같은 반을 했던적이 있는지 담는 배열
			for (int j = 0; j < 5; j++) { // 학년 수
				for (int k = 0; k < n; k++) { //k학생 인덱스
					if (i != k && arr[i][j] == arr[k][j])//i번학생과 k번학생의 학년이 같은지 검사.
						x[k] = 1;
				}
			}
			int s = 0;
			for (int tmp : x) {
				s += tmp;
			}
			System.out.print(i + 1 + "학생: " + s + " /");
			for(int a : x) System.out.print( a + " ");
			System.out.println();
			if (s > max) {
				max = s;
				answer = i + 1;
			}
			
		}
		return answer;
	}

}

저는 i번째 학생을 고정해두고 k번 학생이 반복문을 돌면서 j학년을 돌면서

같은 반이었으면 x배열의 인덱스에 표시하도록 했습니다.

그러면 x배열에 각 학생들이 같은 반이었던 학생들이 표시가 되고, 그 수를 합해서 answer로 반환하도록 했는데요.. 정답이 안 나옵니다 ㅠ.. 왜일까요

java 코딩-테스트

답변 1

1

김태원

안녕하세요^^

아래 입력처럼 모든 학생이 한 번도 서로 같은 반을 한적이 없으면 모든 학생의 s 값은 0입니다. 이럴 경우

if (s > max) 가 한 번도 참이 되는 경우가 없어 answer = 0 그대로 있게 됩니다. 아래 입력의 답은 1인데 위에 코드는 0을 출력하게 됩니다.

9

1 2 3 4 5

2 3 4 5 6

3 4 5 6 7

4 5 6 7 8

5 6 7 8 9

6 7 8 9 1

7 8 9 1 2

8 9 1 2 3

9 1 2 3 4

0

ㅇㄷㅇ

와.. 잘 짯다고 생각했던 논리도 허점투성이었네요 감사합니다 ㅠㅠ 선생님 아니었으면 절대 알지 못했을 거 같습니다!

안녕하세요. 바뀐 채점사이트 관련해서 문의드립니다.

0

34

2

갑자기 채점 사이트가 바뀌었어요

0

35

1

문제 리스트 페이지

0

30

1

채점 사이트 관련 질문드립니다

0

24

1

봉우리 문제 질문입니다

0

84

2

씨름 선수 문제에서 각 선수의 몸무게나 키가 같을 수도 있다면?

0

65

0

이 코드랑 영상 코드중에 뭐가 더 좋은 코드인가요?

0

72

0

가중치 방향 그래프에서 가중치가 0인 간선을 표현하는 방법

0

67

1

좌표 정렬 문제 이 코드가 왜 틀린지 모르겠습니다 ㅠㅠ

0

85

2

6-7 강의에서

0

48

1

6-6. 장난꾸러기 질문 있습니다.

0

46

1

강의 수강후 코딩테스트

0

111

1

answer 변수 사용 여부

0

46

1

2중 for문

1

85

2

2-11. 임시반장정하기 (Runtime Error)

0

63

1

혹시 LinkedList 같은 자료 구조들은 따로 배우지 않나요?

0

70

1

이런 풀이는 어떨까요

0

44

1

자바 스트림 방식의 효율성 질문 드립니다.

0

57

1

알고리즘 자료 구조들..

0

63

1

StringBuilder vs BufferdWriter

0

48

1

원더랜드(프림)

0

50

1

이런 코드는 어떤가요?

0

61

1

bfs 풀이

0

57

1

병합정렬

0

57

1