[BaekJoon] 15439번 - 베라의 패션 (java)
1. 문제
👉 문제 바로가기
- 조건
시간 제한 | 메모리 제한 |
---|---|
2초 | 256MB |
- 문제
베라는 상의 N 벌과 하의 N 벌이 있다. i 번째 상의와 i 번째 하의는 모두 색상 i를 가진다. N 개의 색상은 모두 서로 다르다.
상의와 하의가 서로 다른 색상인 조합은 총 몇 가지일까?
- 입력
입력은 아래와 같이 주어진다.
- 출력
상의와 하의가 서로 다른 색상인 조합의 가짓수를 출력한다.
- 제한
◾ 1 ≤ N ≤ 2017
◾ N은 정수이다.
- 예제
입력 | 출력 |
---|---|
1 | 0 |
2 | 2 |
5 | 20 |
2. 풀이
2개의 입력방식을 사용해서 결과를 출력한다.
- Scanner 클래스
- BufferedReader 클래스
2-1. Scanner 클래스
import java.util.Scanner;
public class Main{
public static void main(String args[]){
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
System.out.println((N - 1) * N);
}
}
위와같이 객체를 생성할 때, Scanner(System.in) 에서
System.in
은 입력한 값을Byte 단위
로 읽는 것을 뜻한다.
int형 데이터를 입력받기 위해
nextInt()
메서드를 사용한다.
하나의 상의
는 같은 색을 가진 하의를 제외한N - 1 개의 조합
을 가진다.
상의는 모두 N 벌이므로,총 조합의 수는 (N - 1) * N 이다.
[여기서 잠깐!]
2-2. BufferedReader 클래스 사용
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.IOException;
public class Main{
public static void main(String args[]) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
System.out.println((N - 1) * N);
}
}
readLine()
메서드를 사용해 입력받은 값을 한 줄 통째로 읽어 String 으로 반환한다.
Integer.parseInt()
을 사용해 String형을int형으로 변환
시켜준다.
[여기서 잠깐!]
BufferedReader 클래스
에 대해 더 알아보고 싶으면 여기를 클릭하면 된다.3. Scanner VS BufferedReader 성능 비교
입력의 경우 확실히 Scanner 보다는 BufferedReader 가 빠른 것을 볼 수 있다.
관련 페이지
Leave a comment