-
[BOJ] 9626 크로스워드 퍼즐알고리즘/백준 알고리즘 2022. 9. 7. 22:48
문제 이해하기
- 크로스워드 퍼즐을 출력 하자.
- 크로스워드 퍼즐은 #.#.이 반복되는 구조이다
알고리즘
- 홀수 번째 줄에 짝수번째는 '#', 홀수번째는 '.'
- 짝수 번째 줄에 짝수번째는 '.', 홀수번째는 '#'
- 크로스워드의 시작점은 왼쪽(L개) + 위(U)개에서부터, M번째까지
코드
#include <bits/stdc++.h> using namespace std; int m, n, u,l,r,d; string s[11]; char a[100][100]; int main(){ cin >> m >> n >> u >> l >> r >> d; for(int i = 0 ; i < m; i++){ cin >> s[i]; } for(int i = 0 ; i < m + u + d ; i++){ for(int j = 0 ; j < n + l + r ; j++){ if( i % 2 == 1 && j % 2 == 1 ) a[i][j] = '#'; else if( i % 2 == 0 && j % 2 == 0 ) a[i][j] = '#'; else a[i][j] = '.'; } } for(int i = u; i < m + u ; i++){ for(int j = l ; j < n + l ; j++){ a[i][j] = s[i - u][j - l]; } } for(int i = 0 ; i < m + u + d ; i++){ for(int j = 0 ; j < n + l + r; j++){ cout << a[i][j]; } cout << '\n'; } }
정리
- 반복문 for을 활용한 문제
느낀점
- 문제에서 주어진 내용을 꼼꼼하게 하나씩 처리해나가는 것이 중요
728x90'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[BOJ] 2583 영역 구하기 (0) 2022.09.07 [BOJ] 1629 곱셈 (0) 2022.08.30 [BOJ] 1213 팰린드롬 만들기 (0) 2022.08.30 [BOJ] 17296 : But can you do it in 0.5x A presses? (0) 2019.11.01