안녕하세요. BeyondTheClouds 입니다.
이번에 풀어볼 문제는 29751번 삼각형 입니다.

출력값이 소수점을 다뤄 int형이 아닌 double형을 사용하였습니다.
다만, 출력이 항상 소수점 아래 첫 번째 자리까지 이루어져야 한다는 점에서 어려움이 있었습니다.
검색을 통해 printf 사용에 대해 알게 되었고 아래 간단하게 정리해 보았습니다.
printf (print + format)
- 표기방법
System.out.printf("%형식", 값);
- 주요예시
%c // 한 글자 (character) %s // 문자열 (String) %d // 부호가 있는 10진법 정수 %f // 고정소수점으로 표현한 실수 %.숫자f // 작성한 숫자만큼의 소수점 자리까지 표시System.out.printf("%c", 'a'); // 출력 : a System.out.printf("%s", "안녕하세요"); // 출력 : 안녕하세요 System.out.printf("%d", 2024); // 출력 : 2024 System.out.printf("%f", 12.34); // 출력 : 12.34 System.out.printf("%.1f", 12.34); // 출력 : 12.3 (소수점 첫째 자리까지 반올림 하지 않음) System.out.printf(""%s"는 "%d"년 입니다.", "올해", 2024); // 출력 : 올해는 2024년 입니다.
제가 작성한 코드는 아래와 같습니다.
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int w = scanner.nextInt();
int h = scanner.nextInt();
double area = (w * h / 2.0);
System.out.printf("%.1f", area);
}
}
마지막으로 위 문제의 링크 남겨두도록 하겠습니다!
https://www.acmicpc.net/problem/29751
★ 제가 푼 방법이 항상 정답은 아닙니다. 더 좋은 방법이 있다면 댓글로 알려주세요! ★