Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 |
Tags
- 쉬운코드
- 반효경
- 운영체제와 정보기술의 원리
- 트랜잭션
- 시그널 핸들러
- concurrency control
- 개발남노씨
- 김영한
- SQL
- 쉬운 코드
- 운영체제
- 네트워크
- BreadcrumbsComputer-Networking_A-Top-Down-Approach
- 갤럭시 S24
- Extendable hashing
- 인터럽트
- 백엔드
- 커널 동기화
- vite
- CPU 스케줄링
- 온디바이스AI
- 데이터베이스
- recoverability
- SDK
- 시스템프로그래밍
- 코딩애플
- 프로세스 주소 공간
- 코딩테스트 [ ALL IN ONE ]
- Git
- B tree 데이터삽입
Archives
- Today
- Total
티끌모아 태산
1236: 성지키기 본문
728x90
https://www.acmicpc.net/problem/1236
1236번: 성 지키기
첫째 줄에 성의 세로 크기 N과 가로 크기 M이 주어진다. N과 M은 50보다 작거나 같은 자연수이다. 둘째 줄부터 N개의 줄에는 성의 상태가 주어진다. 성의 상태는 .은 빈칸, X는 경비원이 있는 칸이다
www.acmicpc.net
핵심 아이디어
각 행과 열마다 X가 들어있지 않는 행, 열의 개수를 구하고 그중 큰 값을 출력해주면 된다.
위 예에서 X가 없는 행은 3개이고 X가 없는 열은 1개이다. 이 중 큰 값을 출력하면 3이 된다.
코드 구현
Python
'''
각 행과 열마다 X가 안들어 있는 행, 열의 개수를 구하고
그 중 큰 값을 출력하면 된다.
'''
n,m = map(int, input().split())
graph = [list(input()) for _ in range(n)]
# for i in graph:
# print(*i)
row = 0
column = 0
# 행 탐색
for i in range(n):
if 'X' not in graph[i]:
row += 1
# 열 탐색
for j in range(m):
if 'X' not in [graph[i][j] for i in range(n)]:
column += 1
print(max(row, column))
C++
#include <iostream>
#include <algorithm>
using namespace std;
int n, m;
char graph[50][50];
int main() {
ios::sync_with_stdio(false);
cin.tie(0);
// 맵의 크기 입력 받기
cin >> n >> m;
// 맵 정보 입력 받기
for (int i = 0; i < n; i++) {
for (int j = 0; j < m; j++) {
cin >> graph[i][j];
}
}
int row = 0;
int column = 0;
// 행 탐색
for (int i = 0; i < n; i++) {
bool check = true;
for (int j = 0; j < m; j++) {
if (graph[i][j] == 'X') {
// 행에 한개라도 있으면 break
check = false;
break;
}
}
if (check) row += 1;
}
// 열 탐색
for (int j = 0; j < m; j++) {
bool check = true;
for (int i = 0; i < n; i++) {
// 열에 한개라도 경비가 있으면
if (graph[i][j] == 'X') {
check = false;
break;
}
}
if (check) column += 1;
}
// 둘 중에 더 큰 수 출력하기
cout << max(row, column) << "\n";
return 0;
}
728x90
'백준 문제 > 문자열,누적합,구현' 카테고리의 다른 글
11478: 서로 다른 부분 문자열의 개수 (1) | 2024.03.27 |
---|---|
1157: 단어 공부 (0) | 2024.03.26 |
[백 준/구현] 9996: 한국이 그리울 땐 서버에 접속하지 (0) | 2024.02.15 |