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
- 플레이어 이동
- Vector3
- rigidbody
- 유니티
- Hp바
- Hpbar
- CSharp #자료구조
- Ainimation Blending
- rotation
- Object Poling
- Transform
- 프리팹
- Object Pooling
- Unity
- Parallax
- raycasting
- raycast
- LayerMark
- 스크롤링
- Blend Type
- 일시정지
- 오브젝트 풀링
- Prefabs
- 패럴렉스
- 플레이어 방향전환
- 2D슈팅게임
- Animation State Machine
- Scrooling
- apk
- joystick
Archives
- Today
- Total
주녘공부일지
[프로그래머스 C#] Lv.2 방문길이 본문
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/49994
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 정답코드 및 핵심 아이디어, 유의사항
결국 좌표 하나하나를 정점으로 봤을 때, 각 간선을 지나왔는지 체크해야하는 문제
- 가로 이동 방문배열과 세로 이동 방문배열을 선언하여 체크하였고, 인덱스 값과 맞추기 위해 주어진 문제에서의 0, 0 좌표를 5, 5로 둠 ( 음의 영역의 끝 부분인 -5를 0으로 잡을 수 있는 수 )
- 음의 방향으로 이동한다면 이동 후의 값을 인덱스로, 양의 방향으로 이동한다면 이동 전의 값을 인덱스로 판단해야 함 => 즉, 연산 후와 연산 전의 값 중에 작은 값을 인덱스 값으로 봐야 함
( ex. 4<->5 = 4 / 7<->8 = 7 로 인덱스 기준을 잡아야 해당하는 간선을 가리킬 수 있음 )
주석 참조
using System;
public class Solution
{
public int solution(string dirs)
{
int answer = 0;
int currPosX = 5, currPosY = 5;
bool[,] h = new bool[11,11]; // 방문배열 (가로이동)
bool[,] v = new bool[11,11]; // 방문배열 (세로이동)
// 명령 수행 (각 명령에 따라 범위 체크 -> 처리)
for(int i = 0; i < dirs.Length; i++)
{
switch(dirs[i])
{
case 'U':
if(currPosY <= 0)
continue;
currPosY--;
if(h[currPosY,currPosX] == false)
{
h[currPosY,currPosX] = true;
answer++;
}
break;
case 'D':
if(currPosY >= 10)
continue;
if(h[currPosY,currPosX] == false)
{
h[currPosY,currPosX] = true;
answer++;
}
currPosY++;
break;
case 'L':
if(currPosX <= 0)
continue;
currPosX--;
if(v[currPosY,currPosX] == false)
{
v[currPosY,currPosX] = true;
answer++;
}
break;
case 'R':
if(currPosX >= 10)
continue;
if(v[currPosY,currPosX] == false)
{
v[currPosY,currPosX] = true;
answer++;
}
currPosX++;
break;
}
}
return answer;
}
}
728x90
'Programmers - C# > CodingTest Lv.2' 카테고리의 다른 글
[프로그래머스 C#] Lv.2 n^2 배열 자르기 (1) | 2023.11.20 |
---|---|
[프로그래머스 C#] Lv.2 롤케이크 자르기 (0) | 2023.11.17 |
[프로그래머스 C#] Lv.2 무인도 여행 (0) | 2023.11.15 |
[프로그래머스 C#] Lv.2 다리를 지나는 트럭 (0) | 2023.11.14 |
[프로그래머스 C#] Lv.2 두 큐 합 같게 만들기 (0) | 2023.11.13 |