
내가 생각했을때 문제에서 원하는부분
첫 번째 줄에는 임스가 받은 기프티콘의 개수 정수 N이 주어진다. (1 ≤ N ≤ 1000)
두 번째 줄부터 N개의 줄에 걸쳐 i번째 기프티콘의 남은 유효기간 x_i가 D-xi 와 같은 형식으로 주어진다. (1 ≤ x_i ≤ 365)
임스가 사용할 기프티콘의 개수를 출력하시오.
내가 이 문제를 보고 생각해본 부분
BufferedReader로 입력을 받는다.
첫 줄에서 N을 받아 반복문 횟수를 정한다.
각 줄에서 D- 는 항상 앞 두 글자이므로 substring(2)로 유효기간 숫자 문자열만 추출하고, Integer.parseInt로 정수 변환한다.
유효기간이 90 이하인지 조건문으로 검사 후 카운트를 증가시킨다.
반복 종료 후 카운트 값을 출력한다.
모든 작업 후 리소스 종료를 위해 br.close()를 호출한다.
코드로 구현
package baekjoon.baekjoon_33;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
// 백준 26068번 문제
public class Main1312 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine()); // 기프티콘 개수
int count = 0;
for (int i = 0; i < N; i++) {
String line = br.readLine(); // D-x 형식 문자열
// "D-" 다음부터 숫자만 추출
int days = Integer.parseInt(line.substring(2));
if (days <= 90) {
count++;
}
}
System.out.println(count); // 사용 가능한 기프티콘 개수 출력
br.close();
}
}
코드와 설명이 부족할수 있습니다. 코드를 보시고 문제가 있거나 코드 개선이 필요한 부분이 있다면 댓글로 말해주시면 감사한 마음으로 참고해 코드를 수정 하겠습니다.