https://school.programmers.co.kr/learn/courses/30/lessons/42842
오늘문제는 조금 쉬웠다!
그냥 내가 노가다로 풀어서 쉽게푼거일수도 있지만,,,
테스트만 통과하면 됐다!!^^
노란색 모양이 정해지면 갈색타일의 모양도 자동으로 결정된다.
-> 노란색 모양을 바꾸면서, 그때의 갈색타일 개수가 맞는지를 확인하면 된다.
1. 노란색 타일의 세로길이를 index i 로 잡고, 1부터 시작한다 (for)
2. 만약 yellow % i 를 했는데 나머지가 존재하면, 해당 세로길이 (세로길이가 i일 때)로는 직사각형을 못만드므로, 다음 반복으로 넘어간다 (continue)
3. 노란색 타일의 가로길이 j를 구한다 (j = yellow / i)
4. 노란색 타일의 모양이 정해졌으므로, 이걸 기준으로 갈색타일의 예상개수를 구한다
갈색 예상개수 = (노란색 가로 + 2) * 2 + (노란색 세로 * 2)
5. 이렇게 구한 갈색타일의 예상개수와, 주어진 갈색타일의 개수가 같다면 성공!! 반복을 멈춘다
5-a. 다르면, 반복을 계속한다.
#include <string>
#include <vector>
#include <iostream>
using namespace std;
vector<int> solution(int brown, int yellow) {
vector<int> answer;
int i, j;
for(i = 1; i <= yellow; i++ ){
// i : 세로 (yellow)
if((yellow % i) != 0){
continue;
}
j = yellow / i; // 가로 (yellow)
int browns = (2*(j +2)) + (2*i);
if(browns == brown){
break;
}
}
answer = {j+2, i+2};
return answer;
}
졸프땜에 바빠서 지하철에서 냅다 폰으로 풀었는데
다행히 어렵지 않은 문제가 나와서 금방 풀었다!
완전탐색에 대한 내용은 나중에 다시 복습할 필요가 있어보이긴 한다....
뭐였는지 기억이 1도안나,,,
99클럽 코테 스터디 7일차 TIL : 깊이/너비 우선탐색(DFS/BFS) - 타겟 넘버 (0) | 2024.05.30 |
---|---|
99클럽 코테 스터디 6일차 TIL : 완전탐색 - 소수찾기 (2) | 2024.05.29 |
99클럽 코테 스터디 4일차 TIL : 정렬 - H-index (2) | 2024.05.27 |
99클럽 코테 스터디 3일차 TIL : 이중우선순위큐 (챌린저) (0) | 2024.05.25 |
99클럽 코테 스터디 3일차 TIL : smallest-number-in-infinite-set (미들러) (0) | 2024.05.25 |