250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 코테
- java
- map
- 스프링
- 리액트 네이티브
- PCCE
- 리액트네이티브
- 프로그래머스
- 자바스크립트
- node.js
- 코딩
- ReactNative
- 백엔드
- controller
- 티스토리챌린지
- firebase
- 자바
- 프로젝트
- project
- React Native
- 리액트
- 2025 프로그래머스 코드챌린지 2차 예선
- 파이어베이스
- Spring
- javascript
- 코딩테스트
- React
- 오블완
- expo
- 태그
Archives
- Today
- Total
양갱의 개발 블로그
[프로그래머스] Lv.1 추억 점수(Java) 본문
728x90
https://school.programmers.co.kr/learn/courses/30/lessons/176963
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 풀이
1. 이름이 나오면 점수를 합산해줘야 하기 때문에 Map을 통해서 key, value값을 지정해줍니다.
2. Map에 있는 값이면 value인 점수를 합산해주고, 만약 Map에 없는 이름이라면 0으로 지정해줍니다.
딱 두가지만 알고 있으면 됩니다.
여기에서 Map을 선언하고 get을 사용했는데, NullPointerException이 발생했습니다.
만약에 Map에 없는 값을 get하면 당연히 값이 없어서 null 예외처리가 발생되는 경우입니다.

그래서 Map의 함수를 찾아보면서, getOrDefault(찾는값, default값) 함수를 알게 되었습니다.
최종코드
import java.util.*;
class Solution {
public int[] solution(String[] name, int[] yearning, String[][] photo) {
int[] answer = new int[photo.length];
// name : 사람 이름들
// yearniing : 점수 배열
// photo : 각 사진에 찍힌 인물의 이름
HashMap<String, Integer> score = new HashMap<String, Integer>();
for (int i=0; i<name.length; i++){
score.put(name[i], yearning[i]);
System.out.println("name[i]= "+name[i]+" yearning[i]= "+yearning[i]);
}
for (int i=0; i<photo.length; i++){
int totalScore = 0;
for (int j=0; j<photo[i].length; j++){
String person = photo[i][j];
int s = score.get(person);
totalScore+=s;
}
System.out.println("result= "+totalScore);
answer[i] = totalScore;
}
return answer;
}
}
getOrDefault 참고
[JAVA] Map - getOrDefault 이란? 사용법 및 예제
getOrDefault - 찾는 키가 존재한다면 찾는 키의 값을 반환하고 없다면 기본 값을 반환하는 메서드 사용 방법 getOrDefault(Object key, V DefaultValue) 매개 변수 : 이 메서드는 두 개의 매개 변수를 허용합니
junghn.tistory.com
728x90
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] [PCCE 기출문제] 10번 / 데이터 분석(Java) (0) | 2025.03.29 |
---|---|
[프로그래머스] [2025 프로그래머스 코드챌린지 2차 예선] 서버 증설 횟수(Java) (0) | 2025.03.27 |
[프로그래머스] [2025 프로그래머스 코드챌린지 2차 예선] 유연근무제(Java) (0) | 2025.03.27 |
[프로그래머스] [2025 프로그래머스 코드챌린지 2차 예선] 택배 상자 꺼내기(Java) (0) | 2025.03.25 |
[프로그래머스] [PCCE 기출문제] 9번 / 이웃한 칸 (Java) (0) | 2024.11.16 |