새소식

코딩테스트/프로그래머스

[C++] 바탕화면 정리

  • -

[문제]

코딩테스트 연습 - 바탕화면 정리 | 프로그래머스 스쿨 (programmers.co.kr)

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

[문제 풀이]

#이 나오는 가장 적은 x값, 가장 큰 x값, 가장 작은 y값, 가장 큰 y값을 구한 뒤에 가장 큰 값들은 index를 1씩만 더해주자.

[회고]

특별히 없음.

[코드]

#include <string>
#include <vector>
#include <iostream>
#include <algorithm>

using namespace std;

int board[51][51];
int n,m;

vector<int> solution(vector<string> wallpaper) {
    n = wallpaper.size();
    m = wallpaper[0].size();
    int min_x = 9999999;
    int min_y = 9999999;
    int max_x = 0;
    int max_y = 0;
    for(int i = 0;i<n;i++){
        for(int j = 0;j<m;j++){
            if(wallpaper[i][j] == '#'){
                min_x = min(min_x,i);
                min_y = min(min_y,j);
                max_x = max(max_x,i);
                max_y = max(max_y,j);
            }
        }
    }
    
    vector<int> answer;
    answer.push_back(min_x);
    answer.push_back(min_y);
    answer.push_back(max_x + 1);
    answer.push_back(max_y + 1);
    return answer;
}

'코딩테스트 > 프로그래머스' 카테고리의 다른 글

[C++] 점프와 순간 이동  (0) 2023.04.04
[C++] 가장 긴 팰린드롬  (0) 2023.04.02
[C++] 리코쳇 로봇  (0) 2023.03.30
[C++] 공원 산책  (4) 2023.03.25
[C++] 아이템 줍기  (2) 2023.02.03
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.