[Java] 알고리즘 Day4

2024. 7. 2. 16:38·알고리즘

구현

- 떠올린 아이디어를 코드로 구현하기

 

1. 완전 탐색

- 모든 경우의 수를 주저 없이 계산하는 해결 방법

 

2. 시뮬레이션

- 문제에서 제시한 알고리즘을 한 단계씩 차례대로 직접 수행하는 방법

 

예시 - 상하좌우 문제

좌표가 주어지고 이동방향이 주어졌을 때 도착할 지점의 좌표를 출력하는 문제

static int n;
static char[] plans;
    
public static void main(String[] args) throws Exception{
	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    n = Integer.parseInt(br.readLine());
    StringTokenizer st = new StringTokenizer(br.readLine());
    int count = st.countTokens();
    plans = new char[count];

    for (int i = 0; i < count; i++) {
        plans[i] = st.nextToken().charAt(0);
    }

    int y = 1, x = 1;
    // L, R, U, D에 따른 이동 방향 
    // 이동 계획을 하나씩 확인
    for (int i = 0; i < count; i++) {

       int ny = y;
       int nx = x;
       switch(plans[i]) {
           case 'L' : nx = nx - 1; break;
           case 'R' : nx = nx + 1; break;
           case 'U' : ny = ny - 1; break;
           case 'D' : ny = ny + 1; break;
       }
       // 공간을 벗어나는 경우 무시 
       if (ny < 1 || nx < 1 || ny > n || nx > n) continue;
       // 이동 수행 
       y = ny;
       x = nx;
    }
    System.out.println(y + " " + x);
 }

'알고리즘' 카테고리의 다른 글

[Java] 알고리즘 Day6  (0) 2024.07.04
[Java] 알고리즘 Day5  (0) 2024.07.04
[Java] 알고리즘 Day3  (0) 2024.07.02
[Java] 알고리즘 Day2  (0) 2024.07.02
[Java] 알고리즘 Day1  (0) 2024.07.02
'알고리즘' 카테고리의 다른 글
  • [Java] 알고리즘 Day6
  • [Java] 알고리즘 Day5
  • [Java] 알고리즘 Day3
  • [Java] 알고리즘 Day2
Jaemin0604
Jaemin0604
정재민님의 블로그 입니다.
  • Jaemin0604
    정재민님의 블로그
    Jaemin0604
  • 전체
    오늘
    어제
    • 분류 전체보기 (23)
      • 알고리즘 (9)
      • 자료구조 (3)
      • 코딩테스트 (1)
        • 백준 (1)
        • 프로그래머스 (0)
      • CS공부 (7)
        • 운영체제 (2)
        • 네트워크 (2)
        • 데이터베이스 (2)
        • 자료구조 (1)
        • 알고리즘 (0)
      • 프로그래밍 언어 (3)
        • Java (3)
        • Swift (0)
      • 백엔드 개발 (0)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Jaemin0604
[Java] 알고리즘 Day4
상단으로

티스토리툴바