티스토리 뷰
반응형
12일차 챌린지를 시작해보자.
금일 문제는 조금 헷갈려 필자도
다음의 사이트를 참고해 작성했다.
https://zetawiki.com/wiki/HR30_Day_12:_Inheritance
기존에 코드의 틀이 작성되어 있고
상속받는 생성자만 만들어주면 되는 문제였는데
강의를 듣기 전에 풀다보니 생성자 만드는 부분에서
조금 헷갈렸고
평균의 경우 필자가 생각한 방법으로는 for문에
합계를 저장한 변수가 sum이고
과목 개수를 저장한 변수가 numScores라면
avg = sum/numScores
이런식으로 문제를 풀었을 텐데
생성자가 따로 선언되어 있으니
저장된 값을 어떻게 받아와야 할지 몰랐다.
결국 위 사이트를 참고하니
double acg = Arrays.stream(this.testScores).average().getAsDouble();
위와 같이 받아올 수 있다는 것을 알게 되었다.
따라서 최종 코드는 다음과 같다.
package day12;
import java.util.Arrays;
import java.util.Scanner;
class Person {
protected String firstName;
protected String lastName;
protected int idNumber;
Person(String firstName, String lastName, int identification) {
this.firstName = firstName;
this.lastName = lastName;
this.idNumber = identification;
}
public void printPerson() {
System.out.println(
"Name: " + lastName + ", " + firstName
+ "\nID: " + idNumber);
}
}
class Student extends Person {
private int[] testScores;
Student(String firstName, String lastName, int id, int[] scores) {
super(firstName, lastName, id);
this.testScores = scores;
}
char calculate() {
double avg = Arrays.stream(this.testScores).average().getAsDouble();
if (avg > 90) return 'O';
if (avg >= 80) return 'E';
if (avg >= 70) return 'A';
if (avg >= 55) return 'P';
if (avg >= 40) return 'D';
return 'T';
}
}
class Solution {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
String firstName = scan.next();
String lastName = scan.next();
int id = scan.nextInt();
int numScores = scan.nextInt();
int[] testScores = new int[numScores];
for (int i = 0; i < numScores; i++) {
testScores[i] = scan.nextInt();
}
scan.close();
Student s = new Student(firstName, lastName, id, testScores);
s.printPerson();
System.out.println("Grade: " + s.calculate());
}
}
필자도 해매다 인터넷의 도움을 받은 문제였지만
강의를 통해 생성자 만드는 법을 학습하고
double acg = Arrays.stream(this.testScores).average().getAsDouble();
다음의 문장만 잘 작성했따면 어렵지 않게 풀 수 있었던 문제라고 생각한다.
그럼 내일 Day 13 챌린지를 통해 만나자!
반응형
'해커랭크 챌린지' 카테고리의 다른 글
[hackerrank] hackerrank challenges Day 13 자바 코드 리뷰 (0) | 2022.07.06 |
---|---|
[hackerrank] hackerrank challenges Day 13 자바 강의 리뷰 (0) | 2022.07.06 |
[hackerrank] hackerrank challenges Day 12 자바 강의 리뷰 (0) | 2022.07.05 |
[hackerrank] hackerrank challenges Day11 자바 코드 리뷰 (0) | 2022.07.04 |
[hackerrank] hackerrank challenges Day 11 자바 강의 리뷰 (0) | 2022.07.04 |
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 해커랭크
- hackerrank
- ORM
- 풀이
- BAEKJOON
- 정보처리산업기사 공부법
- 정보처리 산업기사
- 해커랭크 자바
- 정보처리산업기사
- 22 정보처리산업기사
- JPA
- 자바
- hackerrank challenges
- LinkedList
- 자바의 정석
- Java
- 백준
- queue
- 코드
- 소스코드
- 개발자
- challenges
- 그리디
- 22 정보처리 산업기사
- 디버깅
- 해커랭크 자바 챌린지
- 강의
- 챌린지
- 해커랭크 챌린지
- stack
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
글 보관함