- Today
- Total
- Algorithm
- array
- dp
- spring
- ์๋ฐ
- ์ธํด
- tree
- ํ๋ก๊ทธ๋๋จธ์ค
- PS
- pytorch
- CS
- ๊ตฌํ
- ์๋ฃ๊ตฌ์กฐ
- ๋ฐฑ์๋
- leetcode
- ๋ค์ต์คํธ๋ผ
- database
- ๋ฒจ๋งํฌ๋
- java
- ์๋ฐ์์ ์
- Graph
- ๋ฐฑ์ค
- BFS
- ๋ฐ์ดํฐ๋ฒ ์ด์ค
- OOP
- MST
- ๋ฌธ๋ฒ
- ์กธ์ ์ํ
- ๊ทธ๋ฆฌ๋
- ์์์ ๋ ฌ
Partially Committed
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ฃผํ์ง ๋ชปํ ์ ์ ๋ณธ๋ฌธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์์ฃผํ์ง ๋ชปํ ์ ์
WonderJay 2022. 7. 2. 00:53https://programmers.co.kr/learn/courses/30/lessons/42576
์ฐธ๊ฐ์ ๋ฐฐ์ด์ ์์ฃผ์ ๋ฐฐ์ด๋ณด๋ค ํญ์ ๊ธธ์ด๊ฐ 1 ๋งํผ ๋ ๊ธธ๋ค๋ ์ ์ ์ด์ฉํ๋ฉด ๋๋ค.
๋จผ์ ๋ ๋ฐฐ์ด์ ์ ๋ ฌํ ๋ค์, ๋ท ๋ถ๋ถ์ ์์๋ค์ ๋น๊ตํ๋ค.
๋ง์ฝ์ ์๋ก ๊ฐ์ผ๋ฉด ๊ฐ๊ฐ pop_back() ์ ํธ์ถํ๋ค.
๋๋ช ์ด์ธ์ด ์๋ ๊ฒฝ์ฐ์๋ ์์ฃผ์ ๋ฐฐ์ด์ ํ ํ ๋น๊ณ ์ฐธ๊ฐ์ ๋ฐฐ์ด์๋ 1๊ฐ์ ์์๋ง ๋จ๋๋ฐ, ๊ทธ๊ฒ์ด ๋ต์ด๋ค.
๋ง์ฝ ๋๋ช ์ด์ธ์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ์๋ ๋ฐ๋์ back ์ด ์ผ์นํ์ง ์๋๋ค. ์ด๋์ participant ์ ์์๊ฐ ๋ฐ๋ก ๋ต์ด๋ค.
[C++]
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(vector<string> participant, vector<string> completion) {
string answer = "";
sort(participant.begin(), participant.end());
sort(completion.begin(), completion.end());
for (int i = 0; i < participant.size(); i++)
{
for (int j = 0; j < completion.size(); j++)
{
if (participant.back() == completion.back())
{
participant.pop_back();
completion.pop_back();
}
else
{
answer = participant.back();
break;
}
}
}
if (answer.empty())
answer = participant.back();
return answer;
}
ํน์ ํด์ฌ๋งต์ ํ์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํ ์๋ ์๋ค.
<string, int> ์ ๊ฐ์ key - value record ๋ฅผ ๊ฐ์ง๋ unordered_map ์ ์ ์ธํ ๋ค์, ํด๋น ํด์ฌ๋งต์ completion ์ ์์๋ฅผ
insert ํ๋ค. completion ์ ์์๊ฐ ํด์ฌ๋งต์ ์๋ค๋ฉด <์ด๋ฆ, 1> ์ ํํ๋ก ๋ฃ๋๋ค. ์ด๋ฏธ ์๋ค๋ฉด ํด๋น record ์ int ๊ฐ์ ์ฆ๊ฐํด์ค๋ค. (count ์ญํ )
์ดํ participant ์ ์์๊ฐ hashmap ์ ์๋์ง check ํ๋ค. ์๋ค๋ฉด ํด๋น ์์๊ฐ ๋ฐ๋ก ๋ต์ด๋ค. ์๋ค๋ฉด ํด๋น ์์์ count ๊ฐ์ ๊ฐ์์ํจ๋ค. ์ดํ, hash_map ์ ์์๋ฅผ ์ํํ๋ฉด์ count ๊ฐ์ด ์์์ธ ์์๊ฐ ์๋ค๋ฉด ๊ทธ๊ฒ์ด ๋ฐ๋ก ๋ต์ด๋ค.
[c++]
#include <string>
#include <vector>
#include <algorithm>
#include <unordered_map>
using namespace std;
string solution(vector<string> participant, vector<string> completion) {
string answer = "";
unordered_map<string, int> hash_map;
for (auto& ele : completion)
{
if (hash_map.find(ele) == hash_map.end())
{
hash_map.insert(make_pair(ele, 1));
}
else
hash_map[ele]++;
}
for (auto& ele : participant)
{
if (hash_map.find(ele) == hash_map.end())
{
// can't find
answer = ele;
break;
}
else
{
hash_map[ele]--;
if (hash_map[ele] < 0)
{
answer = ele;
break;
}
}
}
return answer;
}
'๐ฅ Algorithm || ๋ฌธ์ ํ์ด > PS' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฒด์ก๋ณต (0) | 2022.07.03 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ๋ชจ์๊ณ ์ฌ (0) | 2022.07.02 |
[์ ๋ ฌ] k๋ฒ์งธ์ (0) | 2022.07.01 |
[Summer/Winter Coding(~2018)] ์์ ๋ง๋ค๊ธฐ (0) | 2022.07.01 |
[์๊ฐ ์ฝ๋ ์ฑ๋ฆฐ์ง ์์ฆ1] ๋ด์ (0) | 2022.07.01 |