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 |
Tags
- 9375번
- Unity
- Ainimation Blending
- 연속 펄스 부분 수열의 합
- CSharp #자료구조
- Lv.3
- pccp 기출문제 1번
- pccp 기출문제 2번
- 프로그래머스
- 플레이어 이동
- 미로 탈출 명령어
- C#
- 유니티
- 2D슈팅게임
- dp 알고리즘
- 충돌위험 찾기
- pccp 기출문제 3번
- Algorithm
- Blend Type
- Animation State Machine
- dfs
- Hp바
- Lv2
- heap tree
- Back Tracking
- LayerMark
- 양과 늑대
- 오브젝트 풀링
- 백준 c++ 9375번
- 플레이어 방향전환
Archives
- Today
- Total
주녘공부일지
[프로그래머스 C#] Lv.1 바탕화면 정리 본문
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 };
}
}
'CodingTest > Programmers 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 |