반응형
LinkedIn 개발자로 성장하면서 남긴 발자취들을 확인하실 수 있습니다.
Github WWDC Student Challenge 및 Cherish, Tiramisul 등 개발한 앱들의 코드를 확인하실 수 있습니다.
개인 앱 : Cherish 내 마음을 들여다보는 시간, 체리시는 디자이너와 PM과 함께 진행 중인 1인 개발 프로젝트입니다.
10년 후, 20년 후 나는 어떤 스토리 텔러가 되어 있을지 궁금하다. 내가 만약에 아직 조금 더 탐구하고 싶은 게 있고, 궁금한 게 있다면, 그게 설사 지금 당장의 내 인생에 도움이 안 되는 것 같더라도 경험해보자. 그 경험들을 온전히 즐기며 내 것으로 만들고, 내 일에 녹여내고... 그러다보면 그 점들이 모여 나란 사람을 그려내는 선이 될 테니까.

Recent Posts
Recent Comments
Total
관리 메뉴

꿈꾸는리버리

[백준 알고리즘] 1085 직사각형에서 탈출 본문

오뚝이 개발자/알고리즘

[백준 알고리즘] 1085 직사각형에서 탈출

rriver2 2021. 12. 1. 10:26
반응형

문제: https://www.acmicpc.net/problem/1085

 

1085번: 직사각형에서 탈출

한수는 지금 (x, y)에 있다. 직사각형은 각 변이 좌표축에 평행하고, 왼쪽 아래 꼭짓점은 (0, 0), 오른쪽 위 꼭짓점은 (w, h)에 있다. 직사각형의 경계선까지 가는 거리의 최솟값을 구하는 프로그램

www.acmicpc.net

풀이방법:  최단거리 구하기.. 각 모서리에 수선의 발 내리기..

좀... 뜬금없이 easy한 문제였다.. 

 

작성한 코드는 다음과 같다.

#include <iostream>
using namespace std;

int min_distance(int a, int min){
    if(a < min){
        min = a;
    }
    return min;
}

int main() {
    int x, y, w, h;
    cin >> x>>y>>w>>h;
    int min = x;
    min = min_distance(y,min);
    min = min_distance(w-x,min);
    min = min_distance(h-y,min);
    cout << min <<"\n";
    
    return 0;
}

성공한 사진! 

추가 )

나는 항상 문제를 풀고 나서 나보다 좋은 코드는 없는지 확인하는 과정을 거친다. (나보다 똑똑이들은 세상에 많기 때문...) 함수를 호출하지 않고 if문을 간략하게 쓰는 게 있어서 나도 내 코드에 적용해서 code를 재작성해봤다.

 

호오오옥시 모르는 사람이 있을 까봐...

 min = y <= min ? y : min; 

-> y가 min보다 작거나 같으면 y를 min에 대입 , 아니면 이전의 min을 min에 대입

#include <iostream>
using namespace std;

int main() {
    int x, y, w, h;
    cin >> x>>y>>w>>h;
    int min = x;
    min = y <= min ? y : min;
    min = (w-x) <= min ? (w-x) : min;
    min = (h-y) <= min ? (h-y) : min;
    cout << min <<"\n";
    
    return 0;
}
반응형
Comments