광규니
광규니네
광규니
전체 방문자
오늘
어제
  • 분류 전체보기 (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)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

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

최근 댓글

최근 글

티스토리

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

광규니네

알고리즘/문제 풀이

[Java/자바 백준 1459] 걷기

2022. 3. 29. 18:22
반응형

풀이

그리디 문제인지만 모든 케이스를 다 고려해주었습니다.

 

헷갈릴 수 있는 상황

-> (0,0) (2,0)  가기

1. 직진해서 2W로 갈 수 있지만, 

2. 0,0 -> 1,1 -> 2,0  이렇게도 갈 수 있습니다 지도가 무한히 크므로

 

다음 케이스별로 모든 조건을 비교해주어서 가장 작은 값을 출력시켰습니다.

 

import java.io.*;
import java.util.*;

public class Main {

	public static void main(String[] args) throws Exception{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		long X, Y, W, S;
		StringTokenizer st = new StringTokenizer(br.readLine());
		X = Long.parseLong(st.nextToken());
		Y = Long.parseLong(st.nextToken());
		W = Long.parseLong(st.nextToken());
		S = Long.parseLong(st.nextToken());
		
		long min = Long.MAX_VALUE;
		// 가로질러서 가지않고 일자로만 걷기
		min = Math.min(min, W * (X + Y));
		// 가로 지를만큼 지르고 따라서 걷기 
		min = Math.min(min, S * Math.min(X, Y) + W * (Math.abs(X - Y)));
		long tmp;
		
		if((X - Y) % 2 == 0) {
			// 가로지르고 / \ 대각으로 가기 
			tmp = S * Math.min(X, Y) + S * Math.abs(X - Y);
		}
		
		else {
			//대각으로 가다가 마지막만 일자로 가기  
			tmp = S * Math.min(X, Y) + S * (Math.abs(X - Y) - 1) + W;
		}
		min = Math.min(min, tmp);
		System.out.println(min);
	
		
	}

}
반응형
저작자표시

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

[Java/자바 SWEA 1953] 탈주범 검거  (0) 2022.04.11
[Java/자바 백준 1504] 특정한 최단 경로  (0) 2022.03.30
[Java/자바 백준 1781] 컵라면  (0) 2022.03.29
[Java/자바 백준 23290] 마법사 상어와 복제  (0) 2022.03.28
[Java/자바 백준 16928] 뱀과 사다리 게임  (0) 2022.03.27
    '알고리즘/문제 풀이' 카테고리의 다른 글
    • [Java/자바 SWEA 1953] 탈주범 검거
    • [Java/자바 백준 1504] 특정한 최단 경로
    • [Java/자바 백준 1781] 컵라면
    • [Java/자바 백준 23290] 마법사 상어와 복제
    광규니
    광규니
    공부 및 일상 올리기~

    티스토리툴바