광규니
광규니네
광규니
전체 방문자
오늘
어제
  • 분류 전체보기 (154)
    • 알고리즘 (100)
      • 알고리즘 개념 (2)
      • 문제 풀이 (96)
    • 주절주절 (19)
      • 자격증, 활동 후기 (4)
      • 전시회 후기 (3)
      • 이모저모 (2)
      • 회고 (3)
      • 뜨럼 (7)
    • 운영체제 (9)
    • 개발 지식 (9)
      • Apple Watch (4)
      • MySQL (2)
      • Eclipse (1)
      • XCode (1)
    • 네트워크 공부 (1)
    • 데이터베이스 공부 (5)
    • Java 공부 (7)
    • TMP (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • OS
  • BOJ
  • 다이나믹 프로그래밍
  • 애플워치 앱
  • BFS
  • 애플워치 앱 만들기
  • 합주
  • 알고리즘
  • 자바
  • 오블완
  • 구현
  • 티스토리챌린지
  • 운영체제
  • 백준
  • 개념
  • 드린이
  • 파이썬
  • DP
  • 프로그래머스
  • 컴퓨터 사이언스

최근 댓글

최근 글

티스토리

250x250
hELLO · Designed By 정상우.
광규니

광규니네

알고리즘/문제 풀이

[Java/자바 프로그래머스] 방문길이

2022. 2. 4. 16:28
반응형

풀이

방법은 hashmap이나 set써도 될거같지만,

4차원 배열은 사용했습니다.

 

x, y, nx, ny를 방문처리하고

nx, ny, x, y 또한 양방향 방문처리를 했습니다.

 

class Solution {
    public int solution(String dirs) {
        int answer = 0;
        int x = 5;
        int y = 5;
        int[][][][] map = new int[11][11][11][11];

        int[] dx = {1, -1, 0, 0};
        int[] dy = {0, 0, 1, -1};
        for(int i = 0 ; i < dirs.length(); i++){
            char tmp = dirs.charAt(i);
            int dir = -1;
            if(tmp == 'U'){
                dir = 0;
            }
            else if(tmp == 'D'){
                dir = 1;
            }
            else if(tmp == 'R'){
                dir = 2;
            }
            else if(tmp == 'L'){
                dir = 3;
            }
            
            int nx = x + dx[dir];
            int ny = y + dy[dir];
            if(0 > nx || nx >= 11 || 0 > ny || ny >= 11) continue;
            if(map[x][y][nx][ny] == 0){
                map[x][y][nx][ny] = 1;
                map[nx][ny][x][y] = 1;
                answer++;
            }
            x = nx;
            y = ny; 
        }
        return answer;
    }
}
반응형
저작자표시 (새창열림)

'알고리즘 > 문제 풀이' 카테고리의 다른 글

[Java/자바 백준 1347] 미로 만들기  (0) 2022.02.15
[Java/자바 백준 17837] 새로운 게임 2  (0) 2022.02.14
[Java/자바 백준 19237] 어른 상어  (0) 2022.02.04
[Java/자바 백준 2234] 성곽  (0) 2022.02.03
[Java/자바 백준 2174] 로봇 시물레이션  (0) 2022.02.03
    '알고리즘/문제 풀이' 카테고리의 다른 글
    • [Java/자바 백준 1347] 미로 만들기
    • [Java/자바 백준 17837] 새로운 게임 2
    • [Java/자바 백준 19237] 어른 상어
    • [Java/자바 백준 2234] 성곽
    광규니
    광규니
    공부 및 일상 올리기~

    티스토리툴바