반응형
LinkedIn
개발자로 성장하면서 남긴 발자취들을 확인하실 수 있습니다.
Github
WWDC Student Challenge 및 Cherish, Tiramisul 등 개발한 앱들의 코드를 확인하실 수 있습니다.
개인 앱 : Cherish
내 마음을 들여다보는 시간, 체리시는 디자이너와 PM과 함께 진행 중인 1인 개발 프로젝트입니다.
10년 후, 20년 후 나는 어떤 스토리 텔러가 되어 있을지 궁금하다. 내가 만약에 아직 조금 더 탐구하고 싶은 게 있고, 궁금한 게 있다면, 그게 설사 지금 당장의 내 인생에 도움이 안 되는 것 같더라도 경험해보자. 그 경험들을 온전히 즐기며 내 것으로 만들고, 내 일에 녹여내고... 그러다보면 그 점들이 모여 나란 사람을 그려내는 선이 될 테니까.
Recent Posts
Recent Comments
- Total
꿈꾸는리버리
[백준 알고리즘] 1018 체스판 다시 칠하기 본문
반응형
문제: https://www.acmicpc.net/problem/1018
풀이방법:
1) 체스판 8*8 크기로 자르기
지민이는 8×8 크기의 체스판으로 잘라낸 후에 몇 개의 정사각형을 다시 칠해야겠다고 생각했다.
-> 8*8 크기의 체스판을 잘라서 바꿔야 하는 칸만 바꿈
2) 화이트로 판이 시작했을 때, 블랙으로 판이 시작했을 때 나눠서 바꿔야 하는 칸의 수 세기
블랙으로 판이 시작됐다고 하자.
그렇다면 i와 j를 더한 값이 짝수인 경우에 B, 홀수인 경우에 W가 와야 한다.
i와 j를 더한 값이 짝수인 경우에 W, 홀수인 경우에 B가 왔을 때 count를 더해 준다. ( 화이트로 판이 시작했을 때에도 마찬가지 )
// 블랙으로 판이 시작할 때
if((k+p)%2 == 0 && input_chess[k][p] == 'W'){
bcount ++;
}else if((k+p)%2 == 1 && input_chess[k][p] == 'B'){
bcount ++;
}
3) count 최솟값 찾기
지금까지 count된 값 중에 제일 작은 값이 min_color_change이고, 만약 이것보다 작은 값이 count가 된다면 min_color_change의 값을 바꾼다.
if( min_color_change > wcount){
min_color_change = wcount;
}
if( min_color_change > bcount){
min_color_change = bcount;
}
작성한 코드는 다음과 같다.
#include <iostream>
using namespace std;
int main() {
int N,M;
cin >> N >> M;
char input_chess[N][M];
int min_color_change = 100;
for(int i = 0; i < N ; i++){
for(int j = 0; j < M ; j++){
cin >> input_chess[i][j];
}
}
for(int i = 0; i < N-7 ; i++){
for(int j = 0; j < M-7 ; j++){
int wcount = 0;
int bcount = 0;
for(int k = i; k < i+8 ; k++){
for(int p = j; p < j+8 ; p++){
// 화이트로 판이 시작할 때
if((k+p)%2 == 0&& input_chess[k][p] == 'B'){
wcount ++;
}else if((k+p)%2 == 1 && input_chess[k][p] == 'W'){
wcount ++;
}
// 블랙으로 판이 시작할 때
if((k+p)%2 == 0 && input_chess[k][p] == 'W'){
bcount ++;
}else if((k+p)%2 == 1 && input_chess[k][p] == 'B'){
bcount ++;
}
}
}
if( min_color_change > wcount){
min_color_change = wcount;
}
if( min_color_change > bcount){
min_color_change = bcount;
}
}
}
cout << min_color_change << "\n";
return 0;
}
성공한 사진!
MEMO
: 내가 멍청한 걸까..? 문제를 한번 읽었을 때는 내용이 이해가 안 갔다..
반응형
'오뚝이 개발자 > 알고리즘' 카테고리의 다른 글
[백준 알고리즘] 2750 수 정렬하기 (0) | 2021.12.06 |
---|---|
[백준 알고리즘] 1436 영화감독 숌 (0) | 2021.12.06 |
[백준 알고리즘] 7568 덩치 (0) | 2021.12.06 |
[백준 알고리즘] 2798 블랙잭 (0) | 2021.12.04 |
[백준 알고리즘] 2231 분해합 (0) | 2021.12.04 |
Comments