본문 바로가기
코딩테스트

[백준] 1034번 '램프' - Java

by CuckooBird 2023. 8. 15.

https://www.acmicpc.net/problem/1034

 

1034번: 램프

첫째 줄에 N과 M이 주어진다. N은 행의 개수이고, M은 열의 개수이다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 램프의 상태가 주어진다. 1이 켜져있는 상태이고, 0이 꺼져

www.acmicpc.net


문제


코드

import java.io.*;
import java.util.*;

public class Main {
	private static final BufferedReader bf = new BufferedReader(new InputStreamReader(System.in));
	private static final BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
	
	public static void main(String[] args) throws IOException {
		StringTokenizer st = new StringTokenizer(bf.readLine());
		int n = Integer.parseInt(st.nextToken());
		int m = Integer.parseInt(st.nextToken());
		
		String[] arr = new String[n];
		for(int i = 0 ; i < n ; i++) {
			String input = bf.readLine();
			arr[i] = input;
		}
		
		int k = Integer.parseInt(bf.readLine());
		
		int ans = 0;
		for(int i = 0 ; i < n ; i++) {
			int zero = 0;
			for(int j = 0 ; j < m ; j++) {
				if(arr[i].charAt(j) == '0') zero ++;
			}
			
			int same = 0;
			if(zero <= k && zero % 2 == k % 2) {
				for(int j = 0 ; j < n ; j++) {
					if(arr[i].equals(arr[j])) same ++;
				}
			}
			ans = Math.max(same, ans);
		}
		bw.write(ans + "\n");
		
		bf.close();
		bw.flush();
		bw.close();
	}
}