(문제 설명)
(제한사항)
(코드)
빅오 O(n)으로 만들어 작성했고, 중요한 부분은 첫 번째 for문에서의 count 쓰임과 두 번째 for문에서 count 쓰임이 다르다는 것만 신경 써서 보면 될 것 같다.
import java.util.*;
class Solution {
public String[] solution(String[] record) {
/* 유저아이디, 닉네임 */
Map<String, String> map = new HashMap<>();
int count = 0;
for(int i=0; i<record.length; i++){
String[] col = record[i].split(" ");
if(col.length >= 3){
map.put(col[1], col[2]);
if("Change".equals(col[0])){
count++;
}
}
}
String result[] = new String[record.length - count];
count = 0;
for(int i=0; i<record.length; i++){
String[] col = record[i].split(" ");
String nickname = map.get(col[1]);
if("Enter".equals(col[0])){
result[count] = nickname+"님이 들어왔습니다.";
count++;
}
else if("Leave".equals(col[0])){
result[count] = nickname+"님이 나갔습니다.";
count++;
}
}
return result;
}
}
'문제풀이 > 프로그래머스' 카테고리의 다른 글
[Python, JAVA] 프로그래머스 - 다음 큰 숫자 (0) | 2022.09.26 |
---|---|
[JAVA] 프로그래머스 - 카카오프렌즈 컬러링북 (0) | 2022.04.06 |
[JAVA] 프로그래머스 - 야근지수 (0) | 2021.02.17 |
[JAVA] 프로그래머스 - 가장 긴 팰린드롬 (0) | 2021.02.16 |
[JAVA] 프로그래머스 - 여행경로 (0) | 2021.02.07 |
댓글