728x90
๐ ๋ฌธ์ ๋งํฌ
๐ ๋ฌธ์ ํ์ด
์ด ๋ฌธ์ ๋ ๋ณด์๋ง์ HashMap์ด ๋ ์ฌ๋ผ์ ๊ฐ๋จํ๊ฒ ํ์๋ค.
์ฑ์ ํ ๋ ํ ์คํธ ์ผ์ด์ค๊ฐ ์ข ๋ง์์ ์ด์ง ๋๋ ค์ ์ง๋ง ํต๊ณผ !
Key Point
๐ ์ ์ ์์ด๋์ ๋๋ค์์ HashMap์ ์ ์ฅํ๋ค. (key: ์ ์ ์์ด๋, value: ๋๋ค์)
๐ count ๋ณ์ : answer ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์ ์ธํ๊ธฐ ์ํด ๋ค์ด์ค๊ณ ๋๊ฐ๋ ๊ฒฝ์ฐ์ ์(=count)๋ฅผ ์ผ๋ค.
๐ ์คํ ์ฑํ ๋ฐฉ์ ๊ฐ์คํ ์ฌ๋์ด ๋ณด๋ ๋ฉ์์ง(= "ooo๋์ด ๋ค์ด์์ต๋๋ค." or "ooo๋์ด ๋๊ฐ์ต๋๋ค.")๋ฅผ ๋ฌธ์์ด ๋ฐฐ์ด answer์ ์ ์ฅํ๋ค.
Java ์ฝ๋
import java.util.*;
class Solution {
public String[] solution(String[] record) {
// 1. ์ ์ ์์ด๋์ ๋๋ค์์ HashMap์ ์ ์ฅํ๋ค. (key: ์ ์ ์์ด๋, value: ๋๋ค์)
Map<String, String> map = new HashMap<String, String>();
int count = 0;
for (int i=0; i<record.length; i++) {
String[] info = record[i].split(" ");
if (info[0].equals("Enter") || info[0].equals("Change")) {
map.put(info[1], info[2]);
}
// answer ๋ฐฐ์ด์ ํฌ๊ธฐ๋ฅผ ์ ์ธํ๊ธฐ ์ํด ๋ค์ด์ค๊ณ ๋๊ฐ๋ ๊ฒฝ์ฐ์ ์(=count)๋ฅผ ์ผ๋ค.
if (info[0].equals("Enter") || info[0].equals("Leave")) {
count++;
}
}
// 2. ์คํ ์ฑํ
๋ฐฉ์ ๊ฐ์คํ ์ฌ๋์ด ๋ณด๋ ๋ฉ์์ง๋ฅผ ๋ฌธ์์ด ๋ฐฐ์ด answer์ ์ ์ฅํ๋ค.
String[] answer = new String[count];
int idx = 0;
for (int i=0; i<record.length; i++) {
String[] info = record[i].split(" ");
String nickname = map.get(info[1]);
if (info[0].equals("Enter")) {
answer[idx++] = nickname + "๋์ด ๋ค์ด์์ต๋๋ค.";
}
if (info[0].equals("Leave")) {
answer[idx++] = nickname + "๋์ด ๋๊ฐ์ต๋๋ค.";
}
}
return answer;
}
}

728x90
'Algorithms > programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Programmers, ์คํจ์จ : Java (1) | 2022.12.10 |
---|---|
Programmers, [3์ฐจ] ๋ฐฉ๊ธ๊ทธ๊ณก : Java (0) | 2022.12.08 |
Programmers, [1์ฐจ] ๋คํธ ๊ฒ์ : Java (0) | 2022.12.06 |
Programmers, [1์ฐจ] ๋ด์ค ํด๋ฌ์คํฐ๋ง : Java (0) | 2022.12.06 |
Programmers, [1์ฐจ] ์บ์ : Java (0) | 2022.12.02 |