https://school.programmers.co.kr/learn/courses/30/lessons/118666
ํ๋ก๊ทธ๋๋จธ์ค
์ฝ๋ ์ค์ฌ์ ๊ฐ๋ฐ์ ์ฑ์ฉ. ์คํ ๊ธฐ๋ฐ์ ํฌ์ง์ ๋งค์นญ. ํ๋ก๊ทธ๋๋จธ์ค์ ๊ฐ๋ฐ์ ๋ง์ถคํ ํ๋กํ์ ๋ฑ๋กํ๊ณ , ๋์ ๊ธฐ์ ๊ถํฉ์ด ์ ๋ง๋ ๊ธฐ์ ๋ค์ ๋งค์นญ ๋ฐ์ผ์ธ์.
programmers.co.kr
๊ฐ ์ ํ์ ์์๋๋ก ๋ฐฐ์ด์ ๋ฃ๊ณ , ๊ฐ ์ ํ๋ณ๋ก ์ ์ํ์ ๊ณ์ฐํ ๋ฐฐ์ด๋ ์์ฑํด์ฃผ๊ณ
choices์ ๊ฐ๋ค์ ๋ฐ๋ก index๋ก ๊ณ์ฐํด์ ์ ์๋ฅผ ์ถ๊ฐํด์ค๋ค. ( ์ ์ ๋ฐฐ์ด score๋ ์์ฑ )
2๊ฐ์ง ์ ํ๋ง๋ค ๊ณ์ ๋น๊ตํ๋๊น,
์ผ์ชฝ์ ์ ํ์ ์ ์๋ฅผ ์ถ๊ฐํ ๋๋ 1~3์ ์ผ๋๊ณ , ์ค๋ฅธ์ชฝ์ ํ์ ์ ์๋ฅผ ์ถ๊ฐํ ๋๋ 5~7์ ์ด๋ ๊ทธ ๋๊ฐ์ง ๊ฒฝ์ฐ์ ์๋ฅผ ๋๋์ด์
ํ์ฌ ์ถ๊ฐ๋ ์ ํ์ calc์ index๋ฅผ ์ฐพ์์ calc์ ์ํ์ score์ ์๋ฅผ ํ ๋๋ก ์ถ๊ฐํ๋ค.
์ด๋ ๊ฒ ๋ชจ๋ ์ ํ์ ์ ์๋ฅผ ๊ณ์ฐํ๋ค. ( user๋ฐฐ์ด๊ณผ calc๋ฐฐ์ด์ index๊ฐ์ ๋๊ฐ๊ฒ ์ค์ ํ ๊ฒ์ )
๊ทธ๋ฆฌ๊ณ answer์ ์ถ๊ฐ๋ ์ ํ์ ์์๋ ๊ณ ์ ์ ์ด๋
์ ํ๋ณ ์ ์๋ ๊ณ์ฐ calc์์ index0๋ถํฐ 2๊ฐ์ ๊ฐ๋ผ๋ฆฌ ๊ณ์ ๋น๊ต๋ฅผํด์ ์ค๋ฅธ์ชฝ ์ ํ ์ ์๊ฐ ๋ ํฌ๋ฉด ํด๋น ์ ํ์ index ๊ทธ๋๋ก ๊ฐ์ ธ์์
์ถ๊ฐํด์ค๋ค. ์ผ์ชฝ์ ํ์ ์ถ๊ฐํ๋๊ฑด ์ ์๊ฐ ์ผ์ชฝ์ ํ์ด ๋ ํฌ๊ฑฐ๋ ๊ฐ์ ๋๋๊น else ํ๋๋ก ๋ !
import java.util.*;
class Solution {
public String solution(String[] survey, int[] choices) {
String answer = "";
int[] score = {0,3,2,1,0,1,2,3}; // choices์ ๋ฒํธ๋ฅผ indexํตํด ์ ์๊ณ์ฐ
String[] user = {"R","T","C","F","J","M","A","N"}; // ์ ํ
int[] calc = {0,0,0,0,0,0,0,0}; // user ๋ง๋ค ์ ์์๋ ๋ฐฐ์ด
int index = 0;
for(int i=0; i<survey.length; i++){
int target = choices[i]; // ๋ช์ ์ ์ถ๊ฐํด์ผํ๋์ง์ index
String[] temp = {survey[i].substring(0,1), survey[i].substring(1,2)};
if( choices[i] < 4){ // 1~3์ ์ผ ๋
index = Arrays.asList(user).indexOf(temp[0]);
calc[index] += score[target];
}else {
// 5~7์ ์ผ ๋
index = Arrays.asList(user).indexOf(temp[1]);
calc[index] += score[target];
}
}
for (int i = 0; i < user.length; i += 2) {
if (calc[i] < calc[i + 1]) { // ์งํ์ ์ค๋ฅธ์ชฝ ์ ํ์ด ๋ ํฌ๋ค๋ฉด
answer += user[i + 1];
} else { // ์งํ์ ์ผ์ชฝ์ ํ์ด ๋ ํฌ๊ฑฐ๋ ๊ฐ์ ๋
answer += user[i];
}
}
return answer;
}
}
'๐ ์ฝ๋ฉํ ์คํธ > ๋ฐฑ์ค & ํ๋ก๊ทธ๋๋จธ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ๋์ถฉ ๋ง๋ ์ํ (0) | 2024.01.20 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 1 : ๋ฌธ์์ด ๋ด ๋ง์๋๋ก ์ ๋ ฌํ๊ธฐ (0) | 2024.01.05 |
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 2 : N๊ฐ์ ์ต์๊ณต๋ฐฐ์ (0) | 2023.04.07 |
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 2 : ๊ตฌ๋ช ๋ณดํธ (0) | 2023.04.05 |
[ํ๋ก๊ทธ๋๋จธ์ค][JAVA]Level 2 : ์์ด ๋๋ง์๊ธฐ (0) | 2023.04.04 |