본문 바로가기

Algorithm/CodeUp

[CodeUp_Java] Q1297 : 단면의 최대 넓이

반응형

안녕하세요! Plitche(플리체)입니다.
이번 포스팅의 주제는 Q1297 : 단면의 최대 넓이 (자바, JAVA)입니다.

Intro

Question

문제 설명

입력

길이 n이 입력된다.

출력

단면의 넓이 S를 최대로 하려면 얼마만큼 구부려야 하는지 출력하시오.
단, 구부리는 길이는 정수 범위에서 생각하고, 최대 넓이가 같은 경우 구부리는 길이가 최소인 것을 출력한다.

예시

  • 입력 : 16
  • 출력 : 4

Solution (풀이)

  • 풀이 : 메모리 11176, 시간 69
public class Answer1 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int length = Integer.parseInt(br.readLine());

        int wide = 0;
        for (int i=1; i<length; i++) {    // 입력받은 길이만큼 for문을 반복하지만 사실 중간에 종료됨
            // i를 for문을 통해 1씩 증가시키면서 계산
            if (wide < (length-(i*2)) * i) {    // 넓이가 wide보다 크면 계속해서 갱신    
                wide = (length-(i*2)) * i;    
            } else {    // 넓이가 wide보다 작아지는 시점에 바로 break;
                System.out.println(i-1);
                break;
            }
        }

        br.close();
    }
}

Ranking(순위)

반응형