โค๏ธ Problem
- ๋ฌธ์
์๋ง์ ๋ง๋ผํค ์ ์๋ค์ด ๋ง๋ผํค์ ์ฐธ์ฌํ์์ต๋๋ค. ๋จ ํ ๋ช ์ ์ ์๋ฅผ ์ ์ธํ๊ณ ๋ ๋ชจ๋ ์ ์๊ฐ ๋ง๋ผํค์ ์์ฃผํ์์ต๋๋ค.
๋ง๋ผํค์ ์ฐธ์ฌํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด participant์ ์์ฃผํ ์ ์๋ค์ ์ด๋ฆ์ด ๋ด๊ธด ๋ฐฐ์ด completion์ด ์ฃผ์ด์ง ๋, ์์ฃผํ์ง ๋ชปํ ์ ์์ ์ด๋ฆ์ return ํ๋๋ก solution ํจ์๋ฅผ ์์ฑํด์ฃผ์ธ์.
- ์ ํ ์ฌํญ
- ๋ง๋ผํค ๊ฒฝ๊ธฐ์ ์ฐธ์ฌํ ์ ์์ ์๋ 1๋ช ์ด์ 100,000๋ช ์ดํ์ ๋๋ค.
- completion์ ๊ธธ์ด๋ participant์ ๊ธธ์ด๋ณด๋ค 1 ์์ต๋๋ค.
- ์ฐธ๊ฐ์์ ์ด๋ฆ์ 1๊ฐ ์ด์ 20๊ฐ ์ดํ์ ์ํ๋ฒณ ์๋ฌธ์๋ก ์ด๋ฃจ์ด์ ธ ์์ต๋๋ค.
- ์ฐธ๊ฐ์ ์ค์๋ ๋๋ช ์ด์ธ์ด ์์ ์ ์์ต๋๋ค.
- ์ ์ถ๋ ฅ ์ & ์ค๋ช
no | participant | completion | return |
1 | ["leo", "kiki", "eden"] | ["eden", "kiki"] | "leo" |
2 | ["marina", "josipa", "nikola", "vinko", "filipa"] | ["josipa", "filipa", "marina", "nikola"] | "vinko" |
3 | ["mislav", "stanko", "mislav", "ana"] | ["stanko", "ana", "mislav"] | "mislav" |
- "leo"๋ ์ฐธ์ฌ์ ๋ช ๋จ์๋ ์์ง๋ง, ์์ฃผ์ ๋ช ๋จ์๋ ์๊ธฐ ๋๋ฌธ์ ์์ฃผํ์ง ๋ชปํ์ต๋๋ค.
- "vinko"๋ ์ฐธ์ฌ์ ๋ช ๋จ์๋ ์์ง๋ง, ์์ฃผ์ ๋ช ๋จ์๋ ์๊ธฐ ๋๋ฌธ์ ์์ฃผํ์ง ๋ชปํ์ต๋๋ค.
- "mislav"๋ ์ฐธ์ฌ์ ๋ช ๋จ์๋ ๋ ๋ช ์ด ์์ง๋ง, ์์ฃผ์ ๋ช ๋จ์๋ ํ ๋ช ๋ฐ์ ์๊ธฐ ๋๋ฌธ์ ํ๋ช ์ ์์ฃผํ์ง ๋ชปํ์ต๋๋ค.
๐ Solution
ํ์ด 1
import java.util.Arrays;
class Solution {
public String solution(String[] participant, String[] completion) {
Arrays.sort(participant);
Arrays.sort(completion);
String answer = "";
int index = 0;
for(int i=0; i<participant.length; i++) {
if(!participant[i].equals(completion[i])){
answer = participant[i];
break;
}
if(i==completion.length-1) {
answer = participant[i+1];
break;
}
}
return answer;
}
}
์ฒ๋ฆฌ์๋ GOOD๐
ํ์ด 2
import java.util.Arrays;
class Solution {
public String solution(String[] participant, String[] completion) {
Arrays.sort(participant);
Arrays.sort(completion);
for (int i=0; i<completion.length; i++){
if (!participant[i].equals(completion[i])){
return participant[i];
}
}
return participant[participant.length-1];
}
}
์ฒ๋ฆฌ์๋ GOOD๐
๐ Comment
์ฒ์์๋ ์ด์ค for ๋ฐ๋ณต๋ฌธ๊ณผ for ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํด์ ์ฝ๋๋ฅผ ์งฐ๋๋ฐ, ์ ํ์ฑ ํ ์คํธ๋ ํต๊ณผํ์ง๋ง ํจ์จ์ฑ ํ ์คํธ์์ ์๊ฐ์ด๊ณผ๊ฐ ๋ฌ๋ค. ํด๋น ์ฝ๋๋ ๋ค์๊ณผ ๊ฐ๋ค.
import java.util.Arrays;
class Solution {
public String solution(String[] participant, String[] completion) {
Arrays.sort(participant);
Arrays.sort(completion);
for(int i=0; i<completion.length; i++) {
for(int j=0; j<participant.length; j++) {
if(participant[j].equals(completion[i])) {
participant[j] = "finish";
break;
}
}
}
String answer = "";
for(int i=0; i<participant.length; i++) {
if(!participant[i].equals("finish")) {
answer = participant[i];
break;
}
}
return answer;
}
}
์ด์ค for๋ฌธ์ ์ฌ์ฉํ์ง ์๊ณ , ๊ทธ๋ฆฌ๊ณ ๋ฐฐ์ด ๋ด ๋ฐ์ดํฐ๋ฅผ ๊ฑด๋๋ฆฌ์ง ์๊ณ ๊ตฌํํ๊ธฐ ์ํด์ ArrayList์ HashMap๋ ์จ๋ดค๋๋ฐ ์ญ์๋ ํจ์จ์ฑ ํ ์คํธ fail...๐ฅ ๋ด๊ฐ ์๋ฃ๊ตฌ์กฐ๋ฅผ ์ ๋๋ก ์ฌ์ฉํ์ง ๋ชปํ๊ณ ์๋ค๋ ์๊ฐ์, ์ต๋ํ ๋ฐฐ์ด ๊ทธ๋๋ก๋ฅผ ๋ณด์กดํ๋ ๋ฐ๋ณต๋ฌธ์ ์ต์ํ์ผ๋ก ์ฌ์ฉํ ์ ์๋ ๋ฐฉ๋ฒ์ ๊ณ ์ํ๋ค.
๊ทธ๋์ ํ์ด 1์์๋ ๋จผ์ Arrays.sort()๋ฅผ ์ฌ์ฉํด์ participant[]์ completion[]๋ฅผ ์ ๋ ฌํ ๋ค for ๋ฐ๋ณต๋ฌธ์ ์ฌ์ฉํด์ ๋์ผํ ์ธ๋ฑ์ค(i)๋ฅผ ๊ฐ์ง ๋ ๊ฐ๊ฐ์ ๊ฐ์ด ๋์ผํ์ง ์์ผ๋ฉด String answer์ participant[i]๋ฅผ ๊ฐ์ ์ ์ฅํ๋๋ก ํ์๋ค. ์ด ๋, for ๋ฐ๋ณต๋ฌธ์ ๊ธธ์ด๋ participant.length๋ณด๋ค ์๋ค๊ณ ์ค์ ํ๋ค. ์ง๊ธ ๋ณด๋ completion.length๋ฅผ for ๋ฐ๋ณต๋ฌธ์ ๊ธธ์ด๋ก ์ก์๋ ๋ฌด๋ฐฉํ ๊ฒ ๊ฐ๋ค. ์ด์จ๋ , ๋ฌธ์ ์ ๋ฐ๋ฅด๋ฉด completion.length๋ ํญ์ participant.length๋ณด๋ค 1์ฉ ์๊ธฐ ๋๋ฌธ์ i๊ฐ completion.length-1๋ณด๋ค ์์ผ๋ฉด String answer์ participant[i+1]๋ฅผ ๋ฃ๋๋ก ๊ตฌํํ๋ค. ์ด ๊ฒฝ์ฐ, participant[i+1]์ participant[participant.length-1]๊ณผ ๋์ผํ๊ฒ ๋๋ค. ์ฆ, participant ๋ฐฐ์ด์ ๋ง์ง๋ง ๊ฐ์ด answer์ ๋ค์ด๊ฐ๊ฒ ๋๋ค.
ํ์ด 2๋ ํ์ด 1์ ๋ณํ๋ฒ์ ์ธ๋ฐ ์ฒ๋ฆฌ ์๋์ ์ ์๋ฏธํ ๋ณํ๊ฐ ์์ง๋ ์๋ค. ํ์ง๋ง for ๋ฐ๋ณต๋ฌธ ์์ ๋๊ฐ์ if๋ฌธ์ ์ฌ์ฉํ์ฌ ์์ฑํ๋ ๊ฒ๋ณด๋ค ์ฝ๋ ํด์์ด ๋ ์ฉ์ดํ ๊ฒ ๊ฐ๋ค๋ ์๊ฐ์ด ๋ค์ด ์์ฑํ๊ฒ ๋์๋ค. for๋ฌธ์ด ๋ค ๋๊ณ ๋์๋ ๊ฐ์ ๋ฐํํ์ง ๋ชปํ ๊ฒฝ์ฐ๋ participant[] ๋ฐฐ์ด์ ๋งจ ๋ง์ง๋ง ๊ฐ์ด ์์ฃผ๋ฅผ ๋ชปํ ๊ฒฝ์ฐ๋ฐ์ ์๋ค. ์ด๋ ๊ฒ break;๋ฅผ ์ฐ์ง ์๊ณ return์ ์ฌ์ฉํด์ ์ฝ๋๋ฅผ ๊ตฌ์ฑํ๊ฒ ๋๋ฉด ๋ ๋ฐฐ์ด์ ๋์ผํ ์ธ๋ฑ์ค ๊ฐ์ด ๊ฐ์ง ์์ ๋ ์ฆ์ participant[i] ๋ฐํํ๊ฒ ๋๊ณ , for ๋ฐ๋ณต๋ฌธ์ด ์ข ๋ฃํ ๋๊น์ง ๋ฐํํ์ง ์์ ๊ฒฝ์ฐ participant[]์ ๋งจ ๋ง์ง๋ง ๋ฐฐ์ด ๊ฐ์ ๋ฐํํ๊ฒ ํ๋ฏ๋ก ์ฝ๋ ์ดํด๋ฅผ ์ข ๋ ์ฝ๊ฒ ํ ์ ์๋ค๊ณ ์๊ฐํ๋ค.
'Programmers lv-1' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์คํจ์จ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2022.12.26 |
---|---|
๊ณผ์ผ ์ฅ์ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (2) | 2022.12.24 |
๊ฐ์ฅ ๊ฐ๊น์ด ๊ฐ์ ๊ธ์ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2022.12.23 |
์ฝ๋ผ ๋ฌธ์ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2022.12.21 |
๋ชจ์๊ณ ์ฌ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2022.12.19 |
ํฐ์ผ๋ชฌ - Java [์ฝ๋ฉํ ์คํธ ์ฐ์ต] (0) | 2022.12.18 |
๋๊ธ