250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 | 31 |
Tags
- Hp바
- 플레이어 방향전환
- Scrooling
- raycasting
- Unity
- Parallax
- rigidbody
- LayerMark
- 프리팹
- Transform
- 플레이어 이동
- 오브젝트 풀링
- Vector3
- Ainimation Blending
- joystick
- Blend Type
- Animation State Machine
- 2D슈팅게임
- Prefabs
- apk
- 일시정지
- 패럴렉스
- raycast
- Hpbar
- Object Pooling
- CSharp #자료구조
- 스크롤링
- rotation
- 유니티
- Object Poling
Archives
- Today
- Total
주녘공부일지
[프로그래머스 C#] Lv.2 카펫 본문
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42842
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 정답코드 및 핵심 아이디어, 유의사항
구해야 하는 가로 값 x, 세로 값 y로 놓고 수식을 세워서 풀면 되는 문제
매개변수로 주어지는 테두리 영역 brown과 테두리영역을 제외한 영역 yellow에 따른 수식은 아래와 같음
1) 각각 가로 * 2 값과 세로 * 2 값에 겹치는 영역인 꼭짓점의 개수 4를 빼줌
- brown = 2x + 2y - 4
brown = 2(x + y - 2)
brown / 2 = x + y - 2
brown / 2 + 2 = x + y (조건1. 더한 값)
2) 테두리 안의 영역은 결국 직사각형 형태일테니 테두리 부분을 제외한 영역의 부피를 구함
- yellow = (x - 2) * (y - 2)
yellow = xy - 2x - 2y + 4
yellow = xy - (2x + 2y - 4)
yellow = xy - brown
yellow + brown = xy (조건2. 곱한 값)
위에서 구한 두가지 조건식을 만족하는 x, y 값을 찾으면 됨 (단, x >= y )
+ brown은 8이상, yellow는 1이상이므로 x, y >= 3
using System;
public class Solution
{
public int[] solution(int brown, int yellow)
{
int addValue = (brown / 2) + 2; // 가로 + 세로
int xy = brown + yellow; // 가로 * 세로
int y = 0, x = 0;
// y값은 x값보다 클 수 없음 (y 최소값 3)
for (y = 3; y <= addValue / 2; y++)
{
// 조건에 따른 x, y값 세팅 (더한 값)
x = addValue - y;
// 조건을 만족하는지 체크 (곱한 값)
if (xy == x * y)
break;
}
return new int[2] { x, y };
}
}
728x90
'Programmers - C# > CodingTest Lv.2' 카테고리의 다른 글
[프로그래머스 C#] Lv.2 올바른 괄호 (0) | 2023.12.04 |
---|---|
[프로그래머스 C#] Lv.2 괄호 회전하기 (0) | 2023.12.04 |
[프로그래머스 C#] Lv.2 큰 수 만들기 (1) | 2023.11.22 |
[프로그래머스 C#] Lv.2 n^2 배열 자르기 (1) | 2023.11.20 |
[프로그래머스 C#] Lv.2 롤케이크 자르기 (0) | 2023.11.17 |