Computer Science/자료구조

프로그래머스 멀쩡한 사각형 풀이과정

TLdkt 2023. 2. 9. 17:30
728x90
반응형

https://school.programmers.co.kr/learn/courses/30/lessons/62048

 

프로그래머스

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

programmers.co.kr

 

인터넷에 정답 코드는 많으니 이 글에서는 풀이를 끝까지 밀고나갈 수 있는 아이디어에 대해 얘기해보고 싶다. 

 

가로 세로 주고는 잘린 사각형 개수 규칙을 찾으라고 하면 눈물이 앞을 가릴 수도 있다

특히 w+h-1을 간단명료하게 내는 게 이해가 안 될 수도 있다

 

그렇지만 자 아 아 알 생각해보면 논리적이다

대각선으로 가로지르려면 무조건 가로 폭만큼 세로 길이 만큼은 어찌됐든 이동해야 한다

그런데 터벅터벅 둘레 따라 자르는 게 아니니 무조건 꺾이는 한 칸은 겹치게 된다 아래 그림처럼 말이다

예외는 없다.

이때쯤 의심이 들기 시작한다.

 2*3에서 4*6으로 넘어가는 상황에는 규칙이 없는 것처럼 보인다.

그러나 자 아 아 알 보면 조건에 따라 분기되고, 베이스 조건이 확장될 뿐이다. 

 

학창시절에 수학이 재밌다가도 정나미가 떨어지는 건 "이게 맞다고 어떻게 확신해" 라고 물어도 아무도 대답해주지 않을 때였는데 코테도 좀 그럴 때가 있다.

 

프로그래밍이든 코테든 수학이든 사람을 미치게 하는 건 결국 엣지 케이스에 대한 불안인 거다.

엣지케이스가 없으리란 걸 확신하는 순간 속이 편안해진다 

 

엣지케이스라는 의심이 들면 

1) 작은 문제의 확장이 아닌지

2) 문제 전제를 벗어난 건 아닌지

확인해보자

 

 

728x90
반응형