Tags
- CodingTest
- Java
- sort
- ์ ์๋ก
- BFS
- ๊ทธ๋ํ ํ์
- ๊น์ด ์ฐ์ ํ์
- Dynamic Programming
- DP
- ์๋ฃ๊ตฌ์กฐ
- ๊ตฌํ
- ๋๋น ์ฐ์ ํ์
- LV2
- ๊ต์ฌ
- ๊ทธ๋ํ ์ด๋ก
- greedy
- BOJ
- Study
- dfs
- queue
- Brute Force Algorithm
- Python
- ๋ฐฑํธ๋ํน
- PGM
- ์ํ
- ์๋ฎฌ๋ ์ด์
- stack
- ๋ฌธ์์ด
- SpringBoot
- ์ ๋ ฌ
Archives
๊ธฐ๋ก๋ฐฉ
Lv.2 : ์คํ์ฑํ ๋ฐฉ ๋ณธ๋ฌธ
๐ธ ๋ฌธ์ ๋ถ์ ๐ธ
- ์คํ์ฑํ ๋ฐฉ์์ ์ ์ฅ, ํด์ฅ, ๋๋ค์ ๋ณ๊ฒฝ ์ธ ๊ฐ์ง ๊ธฐ๋ฅ์ ๊ธฐ๋ก์ด ์ฃผ์ด์ง๋ค.
- ์ฌ์ฉ์๋ ์ ์ ์์ด๋๋ก ๊ตฌ๋ถ๋๋๋ฐ, ์ ์ฅ ๋์ ๋๋ค์์ด๋ ๋๋ค์ ๋ณ๊ฒฝ ์ ๋๋ค์์ด ๋ณ๊ฒฝ ๋ ์ ์๋ค.
- ์ฌ์ฉ์๊ฐ ๋ค์ด์ค๊ณ ๋๊ฐ ๊ธฐ๋ก์ ๋ฌธ์์ด ๋ฐฐ์ด๋ก ๋ฐํํ๋๋ฐ, ์ต์ข ๋ณ๊ฒฝ ๋ ๋๋ค์์ผ๋ก ๋ํ๋ด์ผํ๋ค.
๐ธ ๋ฌธ์ ํ์ด ๐ธ
- ์ฌ์ฉ์ ์์ด๋์ ๋ฐ๋ฅธ ๋๋ค์์ ๋งต์ผ๋ก ๊ธฐ๋กํ๊ณ , ์ต์ข ๋ฐํ ์ ๋ฌธ์์ด๋ก ๋ณํํ๋ค.
๐ธ ์ฝ๋ ๐ธ
import java.util.Map;
import java.util.HashMap;
import java.util.Queue;
import java.util.ArrayDeque;
class Solution {
public String[] solution(String[] records) {
Map<String, String> nick = new HashMap<>();
Queue<String> history = new ArrayDeque<>();
for (String record: records) {
String[] recordStr = record.split(" ");
switch (recordStr[0].charAt(0)) {
case 'L':
history.add(recordStr[1]);
history.add("๋์ด ๋๊ฐ์ต๋๋ค.");
break;
case 'E':
history.add(recordStr[1]);
history.add("๋์ด ๋ค์ด์์ต๋๋ค.");
default:
nick.put(recordStr[1], recordStr[2]);
}
}
String[] answer = new String[history.size()/2];
for (int i = 0; i < answer.length; i++) {
answer[i] = nick.get(history.poll()) + history.poll();
}
return answer;
}
}
๐ธ ์ฝ๋ ํด์ ๐ธ
- ์ฌ์ฉ์ ์์ด๋์ ๋ฐ๋ฅธ ๋๋ค์ ์ ํด์๋งต nick์ ์ ์ฅํ๋ค.
- ์ด์ฉ ๊ธฐ๋ก์ ๋ฐ๋ผ์ ์
์ฅ/ํด์ฅ/๋๋ค์ ๋ณ๊ฒฝ์ ๋ฐ๋ผ ๋ค๋ฅด๊ฒ ์ฒ๋ฆฌํ๋ค.
- ์ ์ฅ/ํด์ฅ ์, ์์ด๋์ ๋ฉ์ธ์ง๋ฅผ history์ ๊ธฐ๋กํ๋ค.
- ์ ์ฅ/๋ณ๊ฒฝ ์, ๋งต nick์ ์ ์ฅ ๋ ํด๋น ์์ด๋์ ๋๋ค์์ ๋ณ๊ฒฝํ๋ค.
- history๋ ํ ๋ช
๋ น์ ๋ํด์ ์ฌ์ฉ์ ์์ด๋ + ๋ฉ์ธ์ง 2๊ฐ์ง๋ก ๋๋ ์ ์ฅ๋์์ผ๋ฏ๋ก, ์ ๋ต์ ๊ทธ ํฌ๊ธฐ์ ์ ๋ฐ๋งํผ ๋ฐฐ์ด์ ๋ง๋ ๋ค.
- ์ ๋ต ๋ฐฐ์ด answer์ ์์ด๋์ ๋ฐ๋ฅธ ๋๋ค์๊ณผ ๋ฉ์ธ์ง๋ฅผ ํฉ์ณ ์ ์ฅ ํ ๋ฐํํ๋ค.
๐ธ end ๐ธ
- ์์ด๋๋ฅผ ๋งต์ผ๋ก ์ ์ฉํ๋ ๋ถ๋ถ๋ง ์๊ฐํ๋ค๋ฉด ์ฝ๊ฒ ํ์ดํ ์ ์๋ ๋ฌธ์ ์๋ค.
- ๋ค์ด์์ต๋๋ค, ๋๊ฐ์ต๋๋ค ํ๋ ๋ฉ์ธ์ง๊ฐ ์ค๋ณต์ผ๋ก ์ ์ฅ ๋๋๊ฒ ๋ฉ๋ชจ๋ฆฌ๋ฅผ ๋ง์ด ์ฐจ์งํ์ง ์์๊น ํ์ง๋ง, ๋ฌธ์์ด์ด๋ผ์ ์ด์ฐจํผ ์ฃผ์๋ก ์ ์ฅ๋์์ํ ๋ ํฌ๊ฒ ๋ฌธ์ ๋์ง ์์์ ๊ฒ์ด๋ค.
- ์ข๋ ํจ์จ์ ์ผ๋ก ํ๊ณ ์ ์์ด๋ ๋ฐฐ์ด, ๋ฉ์ธ์ง ๋ฐฐ์ด ๋ฐ๋ก ์ ์ฅํ์ง ์๊ณ , ํ์ ๋ฃ์ด๋ณด์๋๋ฐ ์ฑ๋ฅ ๋น๊ต๋ ํด๋ณด์ง ์์์ ์ ๋ชจ๋ฅด๊ฒ ์ง๋ง, ๋ฐฐ์ด์ ์ธ๋ฑ์ค๋ก ์ฐธ์กฐํด์ ์ง์์ ์ผ๋ก ์ ํ ํ์์ด ๋ฐ์ํ๋ ๊ฒ ๋ณด๋ค๋ ์ ์์๋ฅผ ์ ๊ฑฐํด๋๊ฐ๋ ๋ฐฉ์์ด ๋ ๋นจ๋์ ๊ฒ์ผ๋ก ์์ํ๋ค.
- ๋ค๋ฅธ ํ์ด๋ฅผ ๋ณด๋ ๊ฐ์ฒด์งํฅ์ผ๋ก ๊ตฌํํ ๊ฑธ ๋ดค๋๋ฐ, ํ์คํ ํ์ฅ์ฑ์ด ์ถฉ๋ถํ ์ข์๋ณด์์ง๋ง ๋งต๋ง ์ฐ๋ฉด ๋๋ ๋ฌธ์ ์์ ์ข ๊ณผํ ํ์ด ๊ฐ์๋ค. ๊ทธ๋ฅ ์ฝํ ์ฉ ํ์ด์ ๊ฐ์ฒด์งํฅ ์ ์ฉ ๋ฅ๋ ฅ์ ๋ณด๋ ๊ณผ์ ํ์ด๋ ์ด๋ฐ ์ฐจ์ด๊ฐ ์์ ๊ฒ ๊ฐ๋ค.
- 2019 KAKAO RECRUITMENT์ 1๋ฒ ๋ฌธ์ ์ด๊ณ ์ ๋ต๋ฅ ์ 59.91%๋ก ๋์ด๋์ ๋นํด์ ์ค๋ต๋ฅ ์ด ๋์๋ ๊ฒ ๊ฐ๋ค. ํจ์จ์ฑ ํ๊ฐ๊ฐ ๋ค์ด๊ฐ๋ค๊ณ ํ๋๋ฐ, ๋งต ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ ํํ์ง ์์์ผ๋ฉด ํต๊ณผ๋์ง ์์๋ ๊ฒ ๊ฐ๋ค.
- ๋ค์์ ๊ณต์ ํด์ค ๋ด์ฉ์ด๋ค.
์ฒซ ๋ฒ์งธ ๋ฌธ์ ๋ต๊ฒ ํฐ ๊ณ ๋ฏผ ์์ด ์ฐ๊ด ๋ฐฐ์ด(๋งต)์ ์ด์ฉํด์ ์ฝ๊ฒ ํ ์ ์์ต๋๋ค.
record ๋ฅผ ์ํ ํ๋ฉด์
Enter, Leave ์ธ ๊ฒฝ์ฐ ์ ์ ์์ด๋์ ํจ๊ป ์ ๋ต์ ์ถ๋ ฅ๋ ๋ฉ์์ง์ ์ข ๋ฅ๋ฅผ ๊ธฐ๋ก์ ํด๋ก๋๋ค. ์ด๋ ๊ฒ ๊ธฐ๋กํด๋ ๊ฒ์ events ๋ผ๊ณ ํฉ์๋ค.Enter, Change ์ธ ๊ฒฝ์ฐ ์ฐ๊ด ๋ฐฐ์ด์ ์ด์ฉํ์ฌ ๊ฐ ์ ์ ์์ด๋๋ฅผ ํค๋ก, ๋๋ค์์ ๊ฐ์ผ๋ก ์ ์ฅํด ๋ก๋๋ค. ์ด๋ ๊ฒ ํด์ ์ต์ข ๋๋ค์์ ์ ์ ์์ด๋๋ณ๋ก ์ ์งํฉ๋๋ค.
์ด์ events ๋ฅผ ์ํํ๋ฉด์ ์ฑํ ๋ฐฉ์ ์ถ๋ ฅํ ๋ฉ์์ง๋ฅผ ์์ฑํ ๋, ์ฐ๊ด ๋ฐฐ์ด์ ์ ์ฅ๋ ์์ด๋๋ณ ์ต์ข ๋๋ค์์ ์ด์ฉํ๋ฉด ๋ฉ๋๋ค.
728x90
'CodingTest > Java' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Lv.2 : [PCCP ๊ธฐ์ถ๋ฌธ์ ] 2๋ฒ (0) | 2023.11.24 |
---|---|
Lv.2 : ๋กค์ผ์ดํฌ ์๋ฅด๊ธฐ (0) | 2023.11.23 |
Lv.2 : ๋ค์ ์๋ ํฐ ์ ์ฐพ๊ธฐ (0) | 2023.11.23 |
Lv.2 : ๋ ๋ฐ๋จน๊ธฐ (0) | 2023.11.23 |
Lv.2 : ์ฃผ์๊ฐ๊ฒฉ (0) | 2023.11.23 |