View

최민수·2023년 7월 18일
0

알고리즘

목록 보기
70/94
import java.util.Scanner;

import static java.lang.Math.max;

class Solution
{
    public static void main(String args[]) throws Exception
    {
		/*
		   표준입력 System.in 으로부터 스캐너를 만들어 데이터를 읽어옵니다.
		 */
        Scanner sc = new Scanner(System.in);

        for(int test_case = 1; test_case <= 10; test_case++)
        {
            // 입력
            int N = sc.nextInt();
            int[] bds = new int[N];
            for (int i = 0; i < N; i++) {
                int height = sc.nextInt();
                bds[i] = height;
            }

            // 앞뒤로 2개씩 비교하여 판단
            int answer = 0;
            for (int i = 2; i < N-2; i++) {
                int cur = bds[i];
                int maxLeft = max(bds[i - 1], bds[i - 2]);
                int maxRight = max(bds[i + 1], bds[i + 2]);
                // 조망권 확보 세대
                int max = max(maxLeft, maxRight);
                if (cur > max) {
                    answer += cur - max;
                }
            }
            System.out.println("#" + test_case + " " + answer);
        }
    }
}

D3

전에 파이썬 코드로 풀었던 문제를 java언어로 다시 풀어보았다.

삼성 B형은 파이썬을 지원하지 않는데다가 현재 다니고 있는 ssafy에서도 자바로 월말 시험이나 코딩테스트를 보기 때문에 java로 코테를 연습해야 될 필요가 생겼다.

웹 개발은 이전에도 java Spring으로 하고 있었지만, 코딩테스트는 코드의 깔끔함과 직관성 때문에 메인 로직에 집중하여 빠르게 풀 수 있다는 장점이 있는 파이썬으로 풀고 있었다.

하지만 java언어 자체에 대한 이해도를 높이고 더 익숙해지는 좋은 공부가 될 수 있을 것 같아 자바로도 코테를 풀어보기로 했다.


출처: https://swexpertacademy.com/main/code/problem/problemDetail.do?contestProbId=AV134DPqAA8CFAYh

profile
CS, 개발 공부기록 🌱

2개의 댓글

comment-user-thumbnail
2023년 7월 18일

잘 봤습니다. 좋은 글 감사합니다.

답글 달기
comment-user-thumbnail
2023년 7월 18일

글이 많은 도움이 되었습니다, 감사합니다.

답글 달기