9_yoon
개발저장소
9_yoon
전체 방문자
오늘
어제
  • 분류 전체보기 (101)
    • 알고리즘 (52)
      • BJ (40)
      • 프로그래머스 (0)
      • SWEA (10)
      • JO (2)
    • 이론 공부 (7)
      • 네트워크 (2)
      • 알고리즘 (2)
      • Java (1)
      • Web (1)
      • 기타 (1)
    • 개발 공부 (35)
      • Project (1)
      • JavaScript (1)
      • Typescript (1)
      • Spring (12)
      • Java (2)
      • Next JS (7)
      • React (3)
      • Vue (1)
      • Web (5)
      • 기타 (2)
    • 기타 (7)
      • SSAFY (7)
      • 일상 (0)

인기 글

태그

  • 백준
  • 김영한 스프링
  • SWEA
  • NextJS
  • 노마드코더
  • SSAFY
  • 싸피
  • 싸피7기
  • 스프링
  • React

최근 글

티스토리

반응형
hELLO · Designed By 정상우.
9_yoon

개발저장소

[BJ] 13305 주유소
알고리즘/BJ

[BJ] 13305 주유소

2022. 2. 19. 00:10
728x90
반응형

문제

https://www.acmicpc.net/problem/13305

풀이 방법

이동을 하면서 주유비가 최소인 도시에서, 다음 주유비 최소인 도시를 만나기 전까지의 거리만큼 주유를 다하고 가야겠다고 생각을 했다. 그래서 생각한게
위와 같은 로직이였다. 
어짜피 두 개의 결과 값이 같은 점을 이용해서 나는 min에 현재 최소주유비용을 저장하고 한칸씩 이동을 하면서 min보다 더 작은 주유비용이 나오기 전까지는 해당 거리를 계속 min과 곱하고 sum에 더해주는 식으로 구현했다. 

제출 코드

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

public class BJ_13305_주유소 {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		int N = Integer.parseInt(st.nextToken())-1; //마지막 도시는 사용하지 않기 때문에 
		long[] dist = new long[N];
		long[] prices = new long[N];
		
		st = new StringTokenizer(br.readLine());
		//거리 정보 저장
		for (int i = 0; i < N; i++) {
			dist[i] = Long.parseLong(st.nextToken());
		}
		
		//기름 정보 저장
		st = new StringTokenizer(br.readLine());
		for (int i = 0; i < N; i++) {
			prices[i] = Long.parseLong(st.nextToken());
		}
		long minOil = Long.MAX_VALUE; 
		long sum =0; 
		for (int i = 0; i < N; i++) {
			//만약 현재 minOil 보다 더 작은 기름값이 나오면 minOil을 교체 
			if(prices[i]< minOil) minOil = prices[i];
			//이전까지 도시들중에서 가장 작았던 기름 값 * 거리를 총합에 더해주기
			sum+= minOil * dist[i];
		}
		
		System.out.println(sum);
	}
}

 

728x90
반응형
저작자표시 비영리 동일조건 (새창열림)

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

[BJ] 백준 2477 참외밭 (JAVA)  (0) 2022.02.21
[BJ] 10157 자리배정 (JAVA)  (0) 2022.02.19
[BJ] 0217 알고리즘 문제풀이(BJ_1987_알파벳, BJ_2491_수열,BJ_2564_경비원, BJ_3109_빵집,BJ_5052_전화번호목록 )  (0) 2022.02.17
[BJ] 0216 알고리즘 문제풀이(1992_쿼드트리, 2578_빙고)  (0) 2022.02.17
[BJ] 0215 알고리즘 문제풀이(1074,2839) [이전 블로그 게시글]  (0) 2022.02.16
    '알고리즘/BJ' 카테고리의 다른 글
    • [BJ] 백준 2477 참외밭 (JAVA)
    • [BJ] 10157 자리배정 (JAVA)
    • [BJ] 0217 알고리즘 문제풀이(BJ_1987_알파벳, BJ_2491_수열,BJ_2564_경비원, BJ_3109_빵집,BJ_5052_전화번호목록 )
    • [BJ] 0216 알고리즘 문제풀이(1992_쿼드트리, 2578_빙고)
    9_yoon
    9_yoon
    배울게 넘쳐나는 개발 세상에서 묵묵히 걸어가며 지식을 쌓는 신입 개발자

    티스토리툴바