본문 바로가기

CS/알고리즘

[c++][프로그래머스] 바탕화면 정리 [실패]

수학 유형 문제를 재밌어하는 편인데

간만의 좌표 문제라 낯설었다

 

좋은 풀이

https://tin9-d-d-blog.tistory.com/198

 


내코드(오답)

너무 복잡하게 생각했다 

wallpaper[i][j]로 하는 거야 맞는데 max min값을 함수 써서 더 간단하게 풀 수 있었다

 

#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<string> wallpaper) {
    vector<int> answer;
    int hang,yeol;
    int starth=0;
    int starty=0; 
    int endh=0;
    int endy=0;
    


    for (int i=0; i<wallpaper.size(); i++)
    {
        hang=i;
        string temp[100]="";
        for (int j=0; j<wallpaper[0].length(); j++)
        { 
            temp.push_back(wallpaper[i])
            if (wallpaper[i][j]=="#"){
                yeol=j;
            }    
            if (yeol<starty){
                starty=yeol;
            }
            
            if (yeol>endy){
                endy=yeol;
            }
        }
        if (hang<starth)
        {
            starth=hang;
        }
        
        if (hang>endh){
            endh=hang;
        }
        
    }
    
    answer.push_back(starth);
    answer.push_back(starty);
    answer.push_back(endh);
    answer.push_back(endy);
    return answer;
}