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
- rotation
- raycasting
- Ainimation Blending
- 유니티
- Scrooling
- Blend Type
- Prefabs
- apk
- 플레이어 이동
- Animation State Machine
- rigidbody
- Parallax
- Hp바
- Hpbar
- 플레이어 방향전환
- Transform
- 프리팹
- Object Poling
- 스크롤링
- LayerMark
- 오브젝트 풀링
- 패럴렉스
- joystick
- 2D슈팅게임
- Object Pooling
- 일시정지
- CSharp #자료구조
- raycast
- Vector3
- Unity
Archives
- Today
- Total
주녘공부일지
[프로그래머스 C#] Lv.1 바탕화면 정리 본문
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/161990
1. 정답코드 및 핵심 아이디어, 유의사항
드래그가 될 영역은 무조건 직사각형 형태로 한번에 드래그하기 위해서는 각 y, x축에 대하여 최솟값 좌표부터 최대값 좌표 + 1까지 드래그해야 함 ( 왼쪽 위 좌표를 가리키게 되어 최대 값은 + 1 )
즉, 문제에 리턴 값을 { minY, minX, maxY, maxX } 로 둘 수 있음
코드 참조
using System;
public class Solution
{
public int[] solution(string[] wallpaper)
{
// 반대되는 값을 세팅
int minY = wallpaper.Length - 1;
int minX = wallpaper[0].Length - 1;
int maxY = 0;
int maxX = 0;
// 모든 인덱스 순회
for (int y = 0; y < wallpaper.Length; y++)
{
for (int x = 0; x < wallpaper[0].Length; x++)
{
if (wallpaper[y][x] == '#')
{
if (y < minY) minY = y;
if (y > maxY) maxY = y;
if (x < minX) minX = x;
if (x > maxX) maxX = x;
}
}
}
// 드래그 도착지는 +1씩
maxY++; maxX++;
return new int[4] { minY, minX, maxY, maxX };
}
}
728x90
'Programmers - C# > CodingTest Lv.1' 카테고리의 다른 글
[프로그래머스 C#] Lv.1 옹알이(2) (0) | 2024.01.15 |
---|---|
[프로그래머스 C#] Lv.1 가장 많이 받은 선물 (0) | 2024.01.04 |
[프로그래머스 C#] Lv.1 햄버거 만들기 (1) | 2023.12.05 |
[프로그래머스 C#] Lv.1 체육복 (0) | 2023.11.16 |
[프로그래머스 C#] Lv.1 로또의 최고 순위와 최저 순위 (0) | 2023.10.31 |