
문제설명

입력 & 출력



나의 풀이


먼저 풀이 설명에 앞서 실수했던 점을 짚어보고 가려고 합니다.
문제 설명을 보면 P/F 과목의 경우 등급이 P인 과목은 계산에서 제외해야 합니다. 그러나 처음 풀이에서는 전공과목별 합에서는 제외했지만 학점의 합에서는 제외하지 않았기 때문에 틀렸었습니다.
이 점을 주의하고 코드를 짜면 어렵지 않게 짜실 수 있습니다.
이제 풀이를 설명해보자면 3, 4번째 줄에서 전공과목별(학점 * 과목 평점) 합과 학점의 총합을 선언해줍니다. 그리고 문자열 key로 접근이 가능하도록 객체로 과목평점표를 초기화해 줍니다.
7번째 줄에서 split() 메서드를 사용하여 공백을 기준으로 나눠준값을 str에 저장해 줍니다.
for of문을 통해 입력받은 수강한 전공과목의 과목명, 학점, 등급을 순회하는데 먼저 total에 학점(str [1])을 누적해서 더해줍니다. 이때 주의해야 할 점은 앞서 말했듯이 만약에 등급이 P라면 계산에서 제외해야 하기 때문에 등급이 P인 학점을 빼줘야 합니다.
마지막으로 평점을 반환하여 마무리해 줬습니다.
✅ toFixed(n)
toFixed() 함수는 소수점 자릿수를 자를 수 있는 함수입니다.
• Number 객체의 메서드로 인수로 전달된 소수 자릿수로 반올림된 값을 문자열로 리턴합니다.
• 소수점 뒤에 나타날 자릿수는 0 ~ 100 이하의 값을 사용합니다.
• 값을 넣지 않으면 0
refactoring ✅

"나의 풀이"와 비슷한 구조로 풀었지만 크게 다른 점은 2가지 있습니다.
- 첫 번째 입력값을 받을 때 map()을 사용하여 받을 때부터 공백을 기준으로 split 해서 받아줬습니다.
- 두 번째 구조분해 할당을 사용하여 "나의 풀이"와 다르게 간결한 표현을 할 수 있습니다.
참고 ❗
[JavaScript] 구조 분해 할당(destructuring assignment)
구조 분해 할당 구조 분해 할당 구문은 배열이나 객체의 속성을 분해하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식입니다. 개발을 하다 보면 객체나 배열을 보내야 하는 경우가 빈
pixx.tistory.com
[JavaScript] 문자열 자르기 함수 substr() / substring() / slice() / splice() / split()
자바스크립트에서 문자열, 배열을 자르기 위해서는 substr(), substring(), slice(), splice(), split() 함수를 사용하면 됩니다. 1. substr() "문자열".substr(startIndex, length); //startIndex : 시작위치, length : 길이 substr
pixx.tistory.com
(JavaScript) 객체(Dictionary) 알아보기
1. 객체(Object) 배열에서는 아이템에 대한 식별자(인덱스)로는 숫자를 사용했습니다. 그렇기 때문에 인덱스를 사용해서 데이터에 접근할 수가 있었습니다. 그러나 숫자가 아닌 문자를 사용하기
pixx.tistory.com
[JavaScript] 반복문(loop) 정리 for / for in / for of / foreach
JavaScript의 반복문은 특정 작업을 반복적으로 할 때 사용할 수 있는 구문입니다. 가장 전형적인 for문을 시작으로 다양한 종류의 반복문들이 있습니다. 각 반복문마다 장점이 있고, 성능 또한 차
pixx.tistory.com
'Coding Test > 백준' 카테고리의 다른 글
[백준] 최댓값 (node.js, 2566번) (0) | 2024.04.11 |
---|---|
[백준] 행렬 덧셈 (node.js, 2738번) (0) | 2024.04.09 |
[백준] 그룹 단어 체커 (node.js , 1316번) (0) | 2024.04.07 |
[백준] 크로아티아 알파벳 (node.js, 2941번) (0) | 2024.04.06 |
[백준] 단어 공부 (node.js, 1157번) (1) | 2024.04.05 |

문제설명

입력 & 출력



나의 풀이


먼저 풀이 설명에 앞서 실수했던 점을 짚어보고 가려고 합니다.
문제 설명을 보면 P/F 과목의 경우 등급이 P인 과목은 계산에서 제외해야 합니다. 그러나 처음 풀이에서는 전공과목별 합에서는 제외했지만 학점의 합에서는 제외하지 않았기 때문에 틀렸었습니다.
이 점을 주의하고 코드를 짜면 어렵지 않게 짜실 수 있습니다.
이제 풀이를 설명해보자면 3, 4번째 줄에서 전공과목별(학점 * 과목 평점) 합과 학점의 총합을 선언해줍니다. 그리고 문자열 key로 접근이 가능하도록 객체로 과목평점표를 초기화해 줍니다.
7번째 줄에서 split() 메서드를 사용하여 공백을 기준으로 나눠준값을 str에 저장해 줍니다.
for of문을 통해 입력받은 수강한 전공과목의 과목명, 학점, 등급을 순회하는데 먼저 total에 학점(str [1])을 누적해서 더해줍니다. 이때 주의해야 할 점은 앞서 말했듯이 만약에 등급이 P라면 계산에서 제외해야 하기 때문에 등급이 P인 학점을 빼줘야 합니다.
마지막으로 평점을 반환하여 마무리해 줬습니다.
✅ toFixed(n)
toFixed() 함수는 소수점 자릿수를 자를 수 있는 함수입니다.
• Number 객체의 메서드로 인수로 전달된 소수 자릿수로 반올림된 값을 문자열로 리턴합니다.
• 소수점 뒤에 나타날 자릿수는 0 ~ 100 이하의 값을 사용합니다.
• 값을 넣지 않으면 0
refactoring ✅

"나의 풀이"와 비슷한 구조로 풀었지만 크게 다른 점은 2가지 있습니다.
- 첫 번째 입력값을 받을 때 map()을 사용하여 받을 때부터 공백을 기준으로 split 해서 받아줬습니다.
- 두 번째 구조분해 할당을 사용하여 "나의 풀이"와 다르게 간결한 표현을 할 수 있습니다.
참고 ❗
[JavaScript] 구조 분해 할당(destructuring assignment)
구조 분해 할당 구조 분해 할당 구문은 배열이나 객체의 속성을 분해하여 그 값을 개별 변수에 담을 수 있게 하는 JavaScript 표현식입니다. 개발을 하다 보면 객체나 배열을 보내야 하는 경우가 빈
pixx.tistory.com
[JavaScript] 문자열 자르기 함수 substr() / substring() / slice() / splice() / split()
자바스크립트에서 문자열, 배열을 자르기 위해서는 substr(), substring(), slice(), splice(), split() 함수를 사용하면 됩니다. 1. substr() "문자열".substr(startIndex, length); //startIndex : 시작위치, length : 길이 substr
pixx.tistory.com
(JavaScript) 객체(Dictionary) 알아보기
1. 객체(Object) 배열에서는 아이템에 대한 식별자(인덱스)로는 숫자를 사용했습니다. 그렇기 때문에 인덱스를 사용해서 데이터에 접근할 수가 있었습니다. 그러나 숫자가 아닌 문자를 사용하기
pixx.tistory.com
[JavaScript] 반복문(loop) 정리 for / for in / for of / foreach
JavaScript의 반복문은 특정 작업을 반복적으로 할 때 사용할 수 있는 구문입니다. 가장 전형적인 for문을 시작으로 다양한 종류의 반복문들이 있습니다. 각 반복문마다 장점이 있고, 성능 또한 차
pixx.tistory.com
'Coding Test > 백준' 카테고리의 다른 글
[백준] 최댓값 (node.js, 2566번) (0) | 2024.04.11 |
---|---|
[백준] 행렬 덧셈 (node.js, 2738번) (0) | 2024.04.09 |
[백준] 그룹 단어 체커 (node.js , 1316번) (0) | 2024.04.07 |
[백준] 크로아티아 알파벳 (node.js, 2941번) (0) | 2024.04.06 |
[백준] 단어 공부 (node.js, 1157번) (1) | 2024.04.05 |