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 |
Tags
- 2468 c++
- 플레이어 이동
- 코테
- 백준 c++ 2870번
- 백준 1103번 c++
- dfs
- 2870번 c++
- c++
- 유니티
- 백준 17070번
- Beakjoon
- C#
- 2870번
- 수학숙제
- 백준
- Lv2
- 오브젝트 풀링
- 코딩테스트
- Unity
- 2870번 수학숙제
- Lv.3
- Algorithm
- 백준 1103번 게임
- 프로그래머스
- 17070번
- 백준 c++ 2468번
- 백준 1103번
- 백준 2870번
- 백준 17070번 c++
- 2870번 수학숙제 c++
Archives
- Today
- Total
주녘공부일지
[프로그래머스 C#] Lv.2 방문길이 본문
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;
}
}
'CodingTest > Programmers 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 |